【发布时间】:2021-07-06 12:20:48
【问题描述】:
import React from 'react';
import {useReducer, createContext } from 'react';
let initialState = {
associatedOrgs:[],
};
const reducer = (state, action) => {
switch (action.type) {
case "logout":
return initialState;
case "set-associated-org":
return {...state, associatedOrgs: action.payload };
default:
return state;
}
};
export const UserContext = createContext(initialState);
const UserContextProvider = ({children}) => {
const [state, dispatch] = useReducer(reducer, initialState);
const logout = () => {
dispatch({
type: "logout",
});
};
const setAssociatedOrg = (org) => {
dispatch({
type: "set-associated-org",
payload: org,
});
};
return(
<UserContext.Provider
value={{
associatedOrgs: state.associatedOrgs,
logout,
setAssociatedOrg
}}
>
{children}
</UserContext.Provider>
)
};
export default UserContextProvider;
【问题讨论】:
-
我希望你不介意,但我修正了你帖子的格式,在这样做的同时我注意到你在渲染部分有一些嵌套错误,在传递给上下文的道具中提供者。你实际上并没有说明你遇到了什么问题,所以我可能不在基地,但这可能是你问题的一部分。
标签: arrays reactjs react-context use-context use-reducer