所有React组件props在Typescript中应该始终是只读的吗?

时间:2019-05-01 01:40:30

标签: typescript

似乎应该这样,因为在组件内绝不能更改道具。我在Google或Stack Overflow上找不到任何答案,因此在这里只是为了确保即可。

1 个答案:

答案 0 :(得分:2)

这不是Typescript的特异性,而是React的特异性。

React是根据一组道具渲染组件的设计。如果要更改组件的渲染方式,则父级需要生成新的道具并将其提供给子级。

React数据流是从父母到孩子的单向流。您不能也不想变异来自父母的道具。因为如果props可以被突变,它将在React组件的生命周期中产生UI问题。仅当其道具之一的引用发生更改时,组件才会重新渲染。对道具进行突变不会重新渲染组件,您的用户界面也会与数据不同。