props没有在react组件中初始化

时间:2015-06-09 11:45:39

标签: reactjs flux

我开发了一个组件。在其中,我正在加载基于传递给它的Id的数据;

我的项目组件代码看起来像

 ItemStore.CallItem("TenantId",this.props.MetaItemId);

我的调用页面代码看起来像

<div className="box-body table-responsive no-padding list-relations" id="configureMM">
        <Item  MetaItemId={11} />
    </div>
    <div className="box-body table-responsive no-padding list-relations" id="configureMM">
        <Item  MetaItemId={12} />
    </div>

但是它会占用第一个id的时间因为this.props包含第一个MetaItemId但理想情况下我应该在我调用<Item MetaItemId={12} />时重新初始化但是它不是,可以任何人请让我知道是什么我在这里失踪了?

1 个答案:

答案 0 :(得分:1)

如果isMoreOrdered(numbers, new_path, old_path),您需要将ItemStore.CallItem("TenantId",this.props.MetaItemId);放入componentWillReceiveProps,以便它看起来像这样

nextProps.MetaItemId !== this.props.MetaItemId

这将执行调用,但除非您在某处设置状态,否则您的组件不会更新,这取决于ItemStore.CallItem的功能。