gpt4 book ai didi

javascript - 通过react.js中的props传递用户输入值

转载 作者:行者123 更新时间:2023-12-02 14:08:30 24 4
gpt4 key购买 nike

我有2个组件,如何通过onChange将用户输入的值传递给父组件?我可以在 onChange 上传递“触发器”,但如何传递值?

https://jsfiddle.net/gboaxm30

var InputComp = React.createClass({
render: function() {
return (
<div>
<input type="text" onChange={this.props.newVal} />
</div>
);
}
});

var App = React.createClass({
getInitialState(){
return {
inputVal: 0
}
},
inputChangedHandler(props) {
//set user changed value to inputVal
console.log(props)
},
render() {
return(
<div>
<InputComp newVal={this.inputChangedHandler}/>
<h4>{this.state.inputVal}</h4>
</div>
)
}
})

ReactDOM.render(
<App />,
document.getElementById('container')
);

最佳答案

在子组件的 onChange 事件上调用函数,然后访问输入的值(如 e.target.value),然后将其传递给父组件,如this.props.newVal(e.target.value);

var InputComp = React.createClass({
handleChange(e) {
this.props.newVal(e.target.value);
},
render: function() {
return (
<div>
<input type="text" onChange={this.handleChange} />
</div>
);
}
});

var App = React.createClass({
getInitialState(){
return {
inputVal: 0
}
},
inputChangedHandler(val) {
console.log(val);
this.setState({inputVal: val});
},
render() {
return(
<div>
<InputComp newVal={this.inputChangedHandler}/>
<h4>{this.state.inputVal}</h4>
</div>
)
}
})

ReactDOM.render(
<App />,
document.getElementById('container')
);

<强> JSFIDDLE

关于javascript - 通过react.js中的props传递用户输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39845941/

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