Skip to main content

状态

有两种类型的数据可以控制组件:propsstateprops 由父组件设置,并且在组件的整个生命周期内都是固定的。对于将要更改的数据,我们必须使用 state

通常,你应该在构造函数中初始化 state,然后在想要更改它时调用 setState

例如,假设我们想要制作一个始终闪烁的文本。文本本身在创建闪烁组件时设置一次,因此文本本身是一个 prop。“文本当前是开启还是关闭”会随时间变化,因此应该保存在 state 中。

在实际应用程序中,你可能不会使用计时器设置 state。当你有来自服务器的新数据或来自用户输入时,你可能会设置 state。你还可以使用状态容器(如 ReduxMobX)来控制你的数据流。在这种情况下,你将使用 Redux 或 MobX 来修改你的 state,而不是直接调用 setState

当调用 setState 时,BlinkApp 将重新渲染其组件。通过在 Timer 中调用 setState,组件将在 Timer 每次滴答作响时重新渲染。

State 的工作方式与 React 中的工作方式相同,因此有关处理 state 的更多详细信息,你可以查看 React.Component API。此时,你可能已经注意到我们的大多数示例都使用默认文本颜色。要自定义文本颜色,你必须了解样式