2016-10-01 22 views
0

接收数据,现在我作出反应容器看起来是这样的组件:我将如何构建反应,必须从一个模式

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

} 

而且侧边栏我有一个模式,需要更新状态里面既边栏组件和TableData组件。

我不知道你是否可以将道具传递给React中的父组件,但我知道不推荐。在这些类型的问题中推荐的行动方案是什么?

+0

您是否在使用redux或类似的东西? – afuous

+0

目前不是,我应该吗?我只有这两个组件我有这个问题 –

+0

Redux对大型项目很有用,但对于小规模的项目并不需要。 – afuous

回答

2

你是正确的,你不能将道具传递给父组件。但是,父组件可以将回调作为一个道具传递给它的子项,这些值在值更改时调用。

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); 
    // ... 
} 
相关问题