Javascript 使用redux挂钩访问我的redux应用程序的状态
我正在使用钩子将我的组件从类组件迁移到功能组件。我需要在状态挂载时触发一个操作,通过Javascript 使用redux挂钩访问我的redux应用程序的状态,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我正在使用钩子将我的组件从类组件迁移到功能组件。我需要在状态挂载时触发一个操作,通过useSelector访问状态。以下是我到目前为止的情况。我做错了什么?另外,当我将用户登录到控制台时,我会得到整个初始状态,即{isUpdated:false,users:{}而不仅仅是用户 reducers.js const initialState = { isUpdated: false, users: {}, }; const generateUsersObject = array =
useSelector
访问状态。以下是我到目前为止的情况。我做错了什么?另外,当我将用户
登录到控制台时,我会得到整个初始状态,即{isUpdated:false,users:{}代码>而不仅仅是用户
reducers.js
const initialState = {
isUpdated: false,
users: {},
};
const generateUsersObject = array => array.reduce((obj, item) => {
const { id } = item;
obj[id] = item;
return obj;
}, {});
export default (state = { ...initialState }, action) => {
switch (action.type) {
case UPDATE_USERS_LIST: {
return {
...state,
users: generateUsersObject(dataSource),
};
}
//...
default:
return state;
}
};
action.js
export const updateUsersList = () => ({
type: UPDATE_USERS_LIST,
});
我正在使用的组件挂钩
const users = useSelector(state => state.users);
const isUpdated = useSelector(state => state.isUpdated);
const dispatch = useDispatch();
useEffect(() => {
const { updateUsersList } = actions;
dispatch(updateUsersList());
}, []);
首先,如果索引/存储等也将被复制,那么将更容易提供帮助。(你用过图恩吗?)
第二,你的行动小姐“派遣”魔术字-
强烈建议使用{try}语法包装此代码,并在发生错误时能够捕获错误
第三,它可能有助于解决console.log(users)错误-
在减速器处不需要{…}
应该足够了。这条线只是这家商店的第一批货
我不明白{dataSource}来自哪里
export const updateUsersList = () =>
return (dispatch, getState) => dispatch({
type: UPDATE_USERS_LIST
});
state = intialState