在React

时间:2018-04-13 10:36:10

标签: javascript reactjs react-redux

基本上我有一个表单组件供用户填写。完成操作后:onChange={onChange}它返回一个值(子组件);

function onChange(value) {
  console.log("This is: ", value);
}

我想将值传递给父组件中的状态(,以便可以处理from并发送表单数据)。我怎样才能做到这一点?我的构造函数看起来像这样(父组件);

constructor(props) {
  super(props);
  this.state = {
    form: {
      name: '',
      age: '',
      value: ''
    }
  };
}

尝试学习反应,请放轻松,因为我不确定如何做到这一点。会喜欢任何反馈!谢谢!

2 个答案:

答案 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>
    )
  }
}