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
Reactjs 反应-当服务器上的数据已更改但道具未更改时重新渲染_Reactjs_React Props_React State - Fatal编程技术网

Reactjs 反应-当服务器上的数据已更改但道具未更改时重新渲染

Reactjs 反应-当服务器上的数据已更改但道具未更改时重新渲染,reactjs,react-props,react-state,Reactjs,React Props,React State,我有一个组件,其中包含订单的项目列表。当前组件的唯一属性是订单id,组件负责将项目列表提取到状态并显示它们 现在,如果另一个组件添加或更改订单中的项目,我希望重新呈现项目列表,但不更改订单id 通常的方法似乎是使用一个伪道具,它只是一个临时道具,当组件需要刷新时,父级可以更改它,并且组件在componentdiddupdate方法中使用if(prevProps.nonce!=this.props.nonce) 它工作得很好,但我不喜欢这样一个事实,我不得不用一个看起来像一个傻瓜的东西来处理这样一

我有一个组件,其中包含订单的项目列表。当前组件的唯一属性是订单id,组件负责将项目列表提取到状态并显示它们

现在,如果另一个组件添加或更改订单中的项目,我希望重新呈现项目列表,但不更改订单id

通常的方法似乎是使用一个伪道具,它只是一个临时道具,当组件需要刷新时,父级可以更改它,并且组件在
componentdiddupdate
方法中使用
if(prevProps.nonce!=this.props.nonce)

它工作得很好,但我不喜欢这样一个事实,我不得不用一个看起来像一个傻瓜的东西来处理这样一个直截了当的案件。我意识到还有其他选择,比如调用
forceUpdate()
,但文档再次建议不要使用它

即使没有其他组件关心项目列表,我是否应该将状态提升到父级?这似乎是最简单的方法,但我不喜欢它打破OO封装原则的方式