我的上下文如下所示:
class AuthStoreClass {
authUser = null
constructor() {
makeAutoObservable(this)
}
login = async (params) => {
const { data: { data: authUser } } = await loginUser(params)
this.authUser = authUser
}
}
const AuthStoreContext = React.createContext(null);
export const authStoreObject = new AuthStoreClass()
export const AuthStoreProvider = ({ children }: any) => {
return <AuthStoreContext.Provider value={authStoreObject}>{children}</AuthStoreContext.Provider>;
};
export const useAuthStore = () => {
return React.useContext(AuthStoreContext);
};
我在组件的其他地方使用上下文:
const LoginPage = observer(() => {
const authStore = useAuthStore()
...
authStore.login(...)
最后一行报告以下警告:
[MobX] 由于启用了严格模式,因此不允许在不使用操作的情况下更改(观察到的)可观察值。尝试修改:AuthStoreClass@1.authUser
一切都按预期工作。我该如何解决这个问题?