试图使用es6在没有多个处理程序的情况下创建动态状态,但我陷入了困境。我不知道下面的代码有什么问题
<div className="row-wrap">
<span>Mon</span>
<input name="1_min" onChange={this.handleAdvancePrice} type="text" />
<input name="1_max" onChange={this.handleAdvancePrice} type="text" />
</div>
<div className="row-wrap">
<span>Tue</span>
<input name="2_min" onChange={this.handleAdvancePrice} type="text" />
<input name="2_max" onChange={this.handleAdvancePrice} type="text" />
</div>
<button onClick={this.showStates}></button>
..
..
handleAdvancePrice = (e) => {
let dow = e.target.name.split('_')[0],
type = e.target.name.split('_')[1],
value = +(e.target.value);
console.log(dow, type) // it print correctly
this.setState = ({
[`advancePrice_${dow}_${type}`]: value
})
}
showStates = () => {
console.log(this.state) //error this.setState is not a function, caused by handleAdvancePrice
}
我检查了我的其他函数,handleAdvancePrice是罪魁祸首,但是出了什么问题?
罪魁祸首是=
后面的多余迹象this.setState
。另外,也不需要使用type and dow
单独的;
y,因为您可以直接使用e.target.name
class App extends React.Component {
constructor() {
super();
this.state = {}
}
handleAdvancePrice = (e) => {
let dow = e.target.name;
let value = e.target.value;
this.setState ({
[`advancePrice_${dow}`]: value
})
}
showStates = () => {
console.log(this.state) //error this.setState is not a function, caused by handleAdvancePrice
}
render() {
return (
<div>
<div className="row-wrap">
<span>Mon</span>
<input name="1_min" onChange={this.handleAdvancePrice} type="text" />
<input name="1_max" onChange={this.handleAdvancePrice} type="text" />
</div>
<div className="row-wrap">
<span>Tue</span>
<input name="2_min" onChange={this.handleAdvancePrice} type="text" />
<input name="2_max" onChange={this.handleAdvancePrice} type="text" />
</div>
<button onClick={this.showStates}>Show</button>
</div>
)
}
}
ReactDOM.render(<App/>, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>
服务器部件: 客户部分:io.js 消息组件 信息形式——发布过程的开始
我是JComboBox的新手 我有4个JComboBox:专用、etudiant、annee和semestre。 每次更改所选项目并将结果添加到滚动窗格(groupe des matieres ouvertes)时,我都需要从其中的4个项目中获取所选项目
问题内容: 是否可以创建具有相同路由和相同中间件的,同时侦听HTTP和HTTPS的Express服务器? 目前,我在高速上的HTTP做到这一点,有安全通道隧道HTTPS来表达,但我更喜欢一个纯粹的节点解决方案。 我可以使用以下代码来做到这一点,但是可以使用标记为私有的方法: 问题答案: 您可以通过以下方式共享实现:
我想知道如何在一个键事件中按下所有的键。例如,我想为Ctrl+F编写一个监听器,它可以切换全屏。如何检查在一个事件中是否同时按下了Ctrl和F?
我能否向社区咨询一下,听多个主题的最佳方式是什么,每个主题都包含一个不同类别的信息? 在过去的几天里,我一直在玩Spring Kafka。到目前为止我的思考过程:
我对Spring批处理和Spring一般都是新手。我正在开发一个将在WebSphere Application Server上运行的批处理作业。到目前为止,我只是用一些假的台阶搭建了一个骷髅。我还有一个监听器,用于在作业结束时更新一些Oracle DB表。以下是我的AppContext的一部分: 下面是afterJob代码段的开头: 奇怪的是,在我的一些测试运行中(Rational Applica