Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;重置";按钮赢了';除非刷新页面,否则无法正常工作,否则会给我一个错误(React.JS)_Javascript_Reactjs - Fatal编程技术网

Javascript &引用;重置";按钮赢了';除非刷新页面,否则无法正常工作,否则会给我一个错误(React.JS)

Javascript &引用;重置";按钮赢了';除非刷新页面,否则无法正常工作,否则会给我一个错误(React.JS),javascript,reactjs,Javascript,Reactjs,所以我在React.JS中工作,我试图创建一个类似于输入字段的东西,用户可以在其中输入他们选择的数字,它将显示在文本中 我决定添加一个“重置为零”按钮作为扩展 <div> Count: {this.state.value} <form> <input type="number" value = {this.state.value} onChang

所以我在React.JS中工作,我试图创建一个类似于输入字段的东西,用户可以在其中输入他们选择的数字,它将显示在文本中

我决定添加一个“重置为零”按钮作为扩展

             <div>
                Count: {this.state.value}
                <form>
                <input type="number" value = {this.state.value} onChange = {this.inputChange}/>
                <br/>
                <button onClick = {this.reset}>reset to zero</button>
                </form>     
            </div>          
我知道错误来自何处,但我不知道为什么会发生,也不知道如何修复它(请注意,我还是JavaScript和React.JS的初学者)

我希望有人能帮助我

这是我的全部代码,供参考

class Slider extends React.Component {
    constructor(props){
        super(props);
        this.state = {
            value: 0
        }
    }
    inputChange = event => {
        this.setState ({value: event.target.value})
    }
    reset = () => {
        this.setState = ({
            count: 0
        })
    }
    render() {
        return (
            <div>
                Count: {this.state.value}
                <form>
                <input type="number" value = {this.state.value} onChange = {this.inputChange}/>
                <br/>
                <button type = "button"onClick = {this.reset}>reset to zero</button>
                </form>     
            </div>

        );
    }
}
类滑块扩展React.Component{
建造师(道具){
超级(道具);
此.state={
数值:0
}
}
inputChange=事件=>{
this.setState({value:event.target.value})
}
重置=()=>{
this.setState=({
计数:0
})
}
render(){
返回(
计数:{this.state.value}

归零 ); } }

提前谢谢你们

试着像这样更换按钮:

<button type = "button"onClick = {this.reset.bind(this)}>reset to zero</button>
重置为零

这将强制该方法在作用域中执行。

尝试如下替换按钮:

<button type = "button"onClick = {this.reset.bind(this)}>reset to zero</button>
重置为零

这将强制该方法在范围内执行
This

重置时不发生任何事情,并且在输入更改时出现错误的原因是,您正在重置函数中重新分配
This.setState
,而不是调用它。此外,您正在设置
计数
,而不是
,这将导致设置错误的状态

这就是您的重置功能应该是什么:

reset = () => {
    this.setState ({
        value: 0
    })
}
调用
this.setState
时,React将触发组件中具有新状态的重新渲染


单击“重置”时,当前不会发生这种情况。在随后调用inputChange时,
this.setState
已使用对象重新分配,并且不再可调用,从而引发该错误。

重置时不会发生任何事情,并且在输入更改时出现该错误的原因是,您正在重置函数中重新分配
this.setState
,而不是调用它。此外,您正在设置
计数
,而不是
,这将导致设置错误的状态

这就是您的重置功能应该是什么:

reset = () => {
    this.setState ({
        value: 0
    })
}
调用
this.setState
时,React将触发组件中具有新状态的重新渲染


单击“重置”时,当前不会发生这种情况。在随后调用inputChange时,
this.setState
已被重新分配了一个对象,并且不再可调用,引发了该错误。

我认为这不是问题所在,因为@Samy Rashed正在使用类属性重置和inputChange。因此,
这个
已经绑定到组件了。@CoreyLarson对,刚刚看到了你的答案,更合理了。@CoreyLarson为我很好地处理了这个问题。尽管如此,谢谢你的帮助!我认为这不是问题所在,因为@Samy Rashed正在使用类属性进行重置和inputChange。因此,
这个
已经绑定到组件了。@CoreyLarson对,刚刚看到了你的答案,更合理了。@CoreyLarson为我很好地处理了这个问题。尽管如此,谢谢你的帮助!哦,我的错误是,我试图在输入更改方法中使用等号指定一个新值。我去掉了等号,我的代码现在运行良好。谢谢你帮我认识到我的错误!没问题!很高兴能够提供帮助!哦,我的错误是,我试图在输入更改方法中使用等号指定一个新值。我去掉了等号,我的代码现在运行良好。谢谢你帮我认识到我的错误!没问题!很高兴能够提供帮助!