setState
HOOKS 上下文相当于class中render 不能直接设置setState,会造成重复render,死循环
DEMO
状态管理库
// 错误
const Header = ({ content }) => {
// 列表数据源
const listStore = ListStore.useContainer();
const { listStates, changeListStates } = listStore;
changeListStates({ informationList: [111] });
return (
<React.Fragment>
<div className={styles.Wrap}>
<div className={styles.content}>头部</div>
</div>
</React.Fragment>
);
};
// 正确
const Header = ({ content }) => {
// 列表数据源
const listStore = ListStore.useContainer();
const { listStates, changeListStates } = listStore;
useEffect(() => {
changeListStates({ informationList: [111] });
}, []);
return (
<React.Fragment>
<div className={styles.Wrap}>
<div className={styles.content}>头部</div>
</div>
</React.Fragment>
);
};