跳到主要内容

状态

有两种类型的数据控制着一个组件:propsstateprops 由父组件设置,并在组件的整个生命周期中保持固定。对于将要变化的数据,我们必须使用 state

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

例如,假设我们想制作一个始终闪烁的文本。文本内容在闪烁组件创建时设置一次,所以文本内容是一个 prop。而“文本当前是显示还是隐藏”会随时间变化,所以这应该保存在 state 中。

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

当调用 setState 时,BlinkApp 将会重新渲染其 Component。通过在 Timer 中调用 setState,组件会在 Timer 每一次计时时重新渲染。

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