跳至主内容
版本:当前版本

状态

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

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

通常你应在构造函数中初始化 state,然后在需要修改时调用 setState

例如,假设我们要创建持续闪烁的文本。文本内容在闪烁组件创建时设置一次,因此文本本身属于 prop。而"文本当前是否显示"的状态会随时间变化,这就应该保存在 state 中。

在实际应用中,通常不会用定时器设置状态。你可能在收到服务器新数据或用户输入时更新状态。也可以使用状态容器如 ReduxMobX 控制数据流。这种情况下应该通过 Redux 或 MobX 修改状态,而非直接调用 setState

当调用 setState 时,BlinkApp 会重新渲染组件。通过在定时器中调用 setState,组件将在每次定时器触发时重新渲染。

状态的工作机制与 React 中相同,更多细节可查阅 React.Component API。你可能注意到我们大多数示例使用默认文本颜色。要自定义文本颜色,需要学习样式