状态
有两种类型的数据控制组件:props
和 state
。props
由父组件设置,并在组件的生命周期内保持固定。对于要更改的数据,我们必须使用 state
。
通常,您应该在构造函数中初始化 state
,然后在要更改它时调用 setState
。
例如,假设我们想要使文本一直闪烁。文本本身在闪烁组件创建时设置一次,因此文本本身是 prop
。 “文本当前是打开还是关闭”会随着时间推移而改变,因此应将其保存在 state
中。
- TypeScript
- JavaScript
在实际应用中,您可能不会使用计时器来设置状态。当您从服务器或用户输入获得新数据时,可能会设置状态。您还可以使用像 Redux 或 MobX 这样的状态容器来控制您的数据流。在这种情况下,您将使用 Redux 或 MobX 来修改您的状态,而不是直接调用 setState
。
当调用 setState 时,BlinkApp 将重新渲染其组件。通过在 Timer 中调用 setState,组件将在 Timer 每次触发时重新渲染。
State 的工作方式与 React 中相同,因此有关处理状态的更多详细信息,您可以查看 React.Component API。此时,您可能已经注意到我们的大多数示例都使用了默认的文本颜色。要自定义文本颜色,您需要 了解样式。