React 组件使用useSelector钩子从store读取数据
选择器函数接收整个 state 对象,并且返回需要的部分数据
每当Redux store更新时,选择器将重新运行,如果它们返回的数据发生更改,则组件将重新渲染
const posts = useSelector((state) => state.posts);
React 组件使用 useDispatch 钩子 dispatch action 来更新 store
createSlice 将为我们添加到 slice 的每个 reducer 函数生成 action creator 函数
reducers: {
postAdded(state, action) {
state.push(action.payload);
}
在组件中调用 dispatch(someActionCreator()) 来 dispatch action
dispatch(
postAdded({
id: nanoid(),
title,
content
})
Reducers 将运行,检查此 action 是否相关,并在适当时返回新状态
表单输入值等临时数据应保留为 React 组件状态。当用户完成表单时,dispatch 一个 Redux action 来更新 store。
const dispatch = useDispatch();