Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React.js-通过事件处理程序更改所有者组件的状态_Javascript_Reactjs - Fatal编程技术网

Javascript React.js-通过事件处理程序更改所有者组件的状态

Javascript React.js-通过事件处理程序更改所有者组件的状态,javascript,reactjs,Javascript,Reactjs,这是处理模型更改事件的正确方法吗- a。handleModelChange函数作为onModelChange属性传递给子类 b。当模型更改事件触发时,为了进行重新渲染,子组件的处理程序将更改MainComponent的状态 var _SomeMixin={ componentWillMount: function() { this.props.options.model.on("MODEL_CHANGED", this.props.onModelChang

这是处理模型更改事件的正确方法吗-

a。handleModelChange函数作为onModelChange属性传递给子类

b。当模型更改事件触发时,为了进行重新渲染,子组件的处理程序将更改MainComponent的状态

var _SomeMixin={
    componentWillMount: function() {
                this.props.options.model.on("MODEL_CHANGED", this.props.onModelChange);
        },
        componentWillUnmount: function() {
                this.props.options.model.off("MODEL_CHANGED", this.props.onModelChange);
        },
    /* more mixin functions */
}

var SubComponent = React.createClass({
            mixins: [_SomeMixin],
            render: function() {                    
                 return (
                    <div>
                    <!-- ... more elements .. >
                    </div>
                );
            }
        });


var MainComponent = React.createClass({
            getInitialState: function() {
                return {MainComponentState: []};
            },
            handleModelChange: function() {
                if (this.isMounted()) {
                    this.setState({MainClassState: this.props.options.model.toJSON()});
                }
            },
            render: function() {
                return (
                    <SubClass options={this.props.options} onModelChange={this.handleModelChange} />
                    );
            }
        });
var\u SomeMixin={
componentWillMount:function(){
this.props.options.model.on(“model_已更改”,this.props.onmodel更改);
},
componentWillUnmount:function(){
this.props.options.model.off(“model_已更改”,this.props.onmodel更改);
},
/*更多mixin函数*/
}
var SubComponent=React.createClass({
混血儿:[[u SomeMixin],
render:function(){
返回(

这是通知父组件内部组件已更改的可能方法之一。但这种方法将导致您陷入回调地狱,您每次都必须通过回调

更好的解决方案是使用一些状态管理库,如