Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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 我将如何构造必须从模式服务器接收数据的组件_Javascript_Reactjs_Jsx - Fatal编程技术网

Javascript 我将如何构造必须从模式服务器接收数据的组件

Javascript 我将如何构造必须从模式服务器接收数据的组件,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,现在,我的React容器如下所示: class TableData extends Component { some React Functions and state changes. <Sidebar passdata as props/> } 类TableData扩展组件 { 一些响应函数和状态变化。 } 在侧边栏中,我有一个模式,需要更新侧边栏组件和TableData组件的状态 我不知道您是否可以在React中将道具传递给父组件,但我知道不建议这样做。对于这类问题,建

现在,我的React容器如下所示:

class TableData extends Component
{
some React Functions and state changes. 
<Sidebar passdata as props/>

}
类TableData扩展组件
{
一些响应函数和状态变化。
}
在侧边栏中,我有一个模式,需要更新侧边栏组件和TableData组件的状态


我不知道您是否可以在React中将道具传递给父组件,但我知道不建议这样做。对于这类问题,建议采取什么行动

您不能将道具传递给父组件,这是正确的。但是,父组件可以将回调作为道具传递给其子组件,在值更改时调用该回调

class TableData extends React.Component {

    constructor(props) {
        // ...
        this.state = {
            name: originalState,
        };
    }

    handleStateChange(newState) {
        this.setState({ name: newState });
    }

    render() {
        // ...
        <Sidebar onStateChange={this.handleStateChange.bind(this)} />
        // ...
    }
}

class Sidebar extends React.Component {
    // ...
    this.props.onStateChange(newState);
    // ...
}
类TableData扩展了React.Component{
建造师(道具){
// ...
此.state={
名称:originalState,
};
}
handleStateChange(新闻状态){
this.setState({name:newState});
}
render(){
// ...
// ...
}
}
类侧栏扩展了React.Component{
// ...
this.props.onStateChange(newState);
// ...
}

您不能将道具传递给父组件,这是正确的。但是,父组件可以将回调作为道具传递给其子组件,在值更改时调用该回调

class TableData extends React.Component {

    constructor(props) {
        // ...
        this.state = {
            name: originalState,
        };
    }

    handleStateChange(newState) {
        this.setState({ name: newState });
    }

    render() {
        // ...
        <Sidebar onStateChange={this.handleStateChange.bind(this)} />
        // ...
    }
}

class Sidebar extends React.Component {
    // ...
    this.props.onStateChange(newState);
    // ...
}
类TableData扩展了React.Component{
建造师(道具){
// ...
此.state={
名称:originalState,
};
}
handleStateChange(新闻状态){
this.setState({name:newState});
}
render(){
// ...
// ...
}
}
类侧栏扩展了React.Component{
// ...
this.props.onStateChange(newState);
// ...
}

您是否正在使用redux或类似的软件?目前还没有,我应该吗?我只有这两个组件我有这个问题Dux对大型项目很有用,但对小规模的项目不是必需的。你在使用redux或类似的东西吗?现在不是,我应该吗?我只有这两个组件,我有这个问题。Dux对于较大的项目很有用,但对于小规模的项目不是必需的。