我正在尝试抽象一些源代码,我知道其他语言,但对React.js知之甚少。
我希望获得更多信息,以了解为何仅击中第二个onchange
我希望就如何在更改时更新“值”和“拖动值”提供帮助
onChange={value => {
this.setState({value});
console.log("value value")
console.log(value, drag_value)
if (updatemode === 'drag') {
setProps({value});
}
if (updatemode === 'hybrid') {
setProps({drag_value});
}
}}
onChange = {drag_value => {
this.setState({drag_value});
console.log("drag value")
console.log(value, drag_value)
if (updatemode === 'drag') {
setProps({value});
}
if (updatemode === 'hybrid') {
setProps({drag_value});
}
}}
答案 0 :(得分:2)
您要用同一个名称来破坏2个函数,并且基本上覆盖第一个函数。
最好使用诸如“ handleChange”和“ handleDragChange”之类的名称,以免有所不同。
答案 1 :(得分:0)
您正在用第二个handleChange
覆盖第一个handleChange
。因此,如果您颠倒它们的顺序,则您的handleChange
和value
将会被击中,就像在javascript中那样,将考虑所有函数的最终声明。为避免这种情况,请给您的函数起不同的名称,并注意它们的作用。
希望这会有所帮助!