我有一个React组件,它通过props
接收一个或多个对象。我想做的事情就是重新订购这些道具。但是,似乎React重新渲染仅在state
更改时发生。
现在我在父对象中处理了排序并传递方法来处理作为prop的排序,但理想情况下我希望负责渲染这些对象的组件也处理排序。
将props
归入state
似乎很糟糕,但在这里做的最好的事情是什么?
答案 0 :(得分:8)
道具是不可变的,但在您的情况下,您的数据似乎没有变化,只有排序顺序发生变化,因此您可以:
getInitialState
返回默认排序顺序答案 1 :(得分:1)
据我了解,React需要更改状态以触发渲染。如果要保持排序逻辑附加到组件,则必须创建数组的副本。
getInitialState: function () {
return {
items: this.props.items.slice(0)
};
},
已实施here.