const initialState = {
foo: ‘bar’,
bar: ‘baz’,
};
const RESET = ‘RESET’;
const assignReducer = (state, payload) => {
if (payload === RESET) {
return initialState;
}
return Object.assign({}, state, payload);
};
const MyComponent = () => {
const [state, setState] = useReducer(assignReducer, initialState);
// update single key
setState({ foo: ‘foo’ });
// partial update
setState({ foo: ‘foo’, bar: ‘bar’ });
// reset
setState(RESET);
}
如果仅仅是一个大对象 放在useState 有时候会出现不及时更新的问题 这个方法比较可靠。
学习React/Next.js服务端渲染SSR同构设计方案,理解OAuth登录体系的实现原理
了解课程