状态
非官方测试版翻译
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
控制组件的数据有两种类型:props 和 state。props 由父组件设置,在组件的整个生命周期中保持不变。对于需要变化的数据,我们必须使用 state。
通常你应在构造函数中初始化 state,然后在需要修改时调用 setState。
例如,假设我们要创建持续闪烁的文本。文本内容在闪烁组件创建时设置一次,因此文本本身属于 prop。而"文本当前是否显示"的状态会随时间变化,这就应该保存在 state 中。
- TypeScript
- JavaScript
在实际应用中,通常不会用定时器设置状态。你可能在收到服务器新数据或用户输入时更新状态。也可以使用状态容器如 Redux 或 MobX 控制数据流。这种情况下应该通过 Redux 或 MobX 修改状态,而非直接调用 setState。
当调用 setState 时,BlinkApp 会重新渲染组件。通过在定时器中调用 setState,组件将在每次定时器触发时重新渲染。
状态的工作机制与 React 中相同,更多细节可查阅 React.Component API。你可能注意到我们大多数示例使用默认文本颜色。要自定义文本颜色,需要学习样式。