基本上我有一个表单组件供用户填写。完成操作后:onChange={onChange}
它返回一个值(子组件);
function onChange(value) {
console.log("This is: ", value);
}
我想将值传递给父组件中的状态(,以便可以处理from并发送表单数据)。我怎样才能做到这一点?我的构造函数看起来像这样(父组件);
constructor(props) {
super(props);
this.state = {
form: {
name: '',
age: '',
value: ''
}
};
}
尝试学习反应,请放轻松,因为我不确定如何做到这一点。会喜欢任何反馈!谢谢!
答案 0 :(得分:2)
当您是初学者时,请仔细,耐心地阅读官方文档start guide。
在react组件中, state 是内部状态, props 是从外部传递的状态。
您只能通过setState方法修改状态。
至于你问的问题,你可以定义一个回调函数,它在父组件中调用setState,然后将回调函数作为props传递给子组件。
答案 1 :(得分:1)
正如Zhili所说,您应该在父组件中定义一个函数,该函数作为prop组件传递给子组件。 这是一个简短的例子:
const Child = ({ onSubmit }) => (
<form onSubmit={onSubmit}>
{ /* your <input/>'s here ... */}
</form>
);
class Parent extends React.Component {
state = {
value: null,
};
onChildSubmit = (value) => {
this.setState({
value,
});
}
render() {
return (
<div class="Something">
<Child onSubmit={} />
</div>
)
}
}