gpt4 book ai didi

javascript - 这是 "React.js"的做法吗?

转载 作者:行者123 更新时间:2023-12-03 06:01:11 25 4
gpt4 key购买 nike

我从 React 开始,尝试创建一个简单的表单,上面写着 Hello name!

但是我觉得拥有 2 个状态元素并不是执行此操作的正确方法。

有人知道或相信有更好的方法吗?

顺便说一句,我知道我可以将名称状态绑定(bind)到 h2,但我希望它在单击时发生。

    var Name = React.createClass({
getInitialState:function(){
return {
inputname:'',
h2name:''
};
},
showName:function(event){
event.preventDefault();
this.setState({h2name:this.state.inputname});
},
updateName:function(event){
this.setState({inputname:event.target.value});
}
,
render:function(){
return (
<div>
<form onSubmit={this.showName}>
<input onChange={this.updateName} placeholder="Enter your name"></input>
<button type="submit">Show</button>
</form>
<h2>Hello {this.state.h2name}!</h2>
</div>
);
}
});
ReactDOM.render(<Name />,document.getElementById('mount-point'));

最佳答案

一个状态就足够了。

var Name = React.createClass({
getInitialState: function () {
return {
inputname: ''
};
},
showName: function (event) {
event.preventDefault();
this.setState({ inputname: this.refs.inputname.value });
},

render: function () {
return (
<div>
<input ref="inputname" placeholder="Enter your name"></input>
<button onClick={this.showName}>Show</button>
<h2>Hello {this.state.inputname}!</h2>
</div>
);
}
});
ReactDOM.render(<Name />, document.getElementById('root'));

您可以使用 refs 来获取输入值。我想你想要这个效果,这里是demo

这里是引用文献more-about-refs的文档

关于javascript - 这是 "React.js"的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39746830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com