以ref以外的其他方式访问子组件状态?

时间:2016-02-22 10:52:05

标签: javascript reactjs

我无法在我的应用程序中使用类似this.refs.child.state的内容来访问子组件的状态,因此需要另一种方法来执行此操作。主要原因是当在这样的子父组件中单击某个按钮时将子内容传递给redux状态,因此父组件中的函数需要将子内容作为参数之一传递。

1 个答案:

答案 0 :(得分:0)

根据组件的结构(很难分辨你不发布代码),你可以通过使用props链接回调来解决这个问题。即。

var Parent = React.createClass({
    onChange: function(childValue){
        this.setState({childValue: childValue});
    },
    render: function(){
        return <Child onChange={this.onChange} />
    }
});

var Child = React.createClass({
    handleChange: function(event){
        this.props.onChange(event.target.value);
    },
    render: function(){
        return <input onChange={this.handleChange}/>
    }
});

根据需要添加尽可能多的中间层;

var MiddleChildA = React.createClass({
    render: function(){
        return <MiddleChildB onChange={this.props.onChange} />
    }
});