在本机中无法将状态值从子组件传递给父组件

时间:2017-12-08 21:30:54

标签: reactjs react-native

我想在父组件中使用子组件内部的状态。这就是我的组件设置方式:

子:

export default class Child extends React.PureComponent {
  constructor() {
    this.state = {
      value: "123",
    };
  }
updateValue(data){
    this.props.updateValue(data);
}

componentWillMount(){
    this.updateValue(this.state.value);
}
}

父:

export default class Parent extends Component {
    constructor() {
    super(props)
    this.state = {  
        newValue: ""
    };
  }

updateState (data) {
        this.setState(newValue: data);
    }
  render() {
return(
        <Child updateValue={this.updateState.bind(this)}/>
)
}
}

然而,它似乎不起作用,并给我一个错误。我做错了吗?

1 个答案:

答案 0 :(得分:1)

请记住this.setState需要参数。您已经传递了一个密钥:值对,它不存储在数据结构中。

this.setState(newValue: data);

应该是

this.setState({newValue: data});