![](/img/trans.png)
[英]"Login.setUser is not a function" error in react-native (expo)
[英]React Native Context setUser is not a function
我正在尝试使用 React Context 来管理用户是否登录。 我到目前为止是这样的:
import AuthUserContext, { AuthUserProvider } from './Components/auth/AuthUserProvider';
function App() {
const {user, setUser} = React.useContext(AuthUserContext)
setUser('') // SetUser is not a function
}
应用程序.tsx
import React, { useState, createContext } from 'react';
var user: any, setUser: any;
const AuthUserContext = React.createContext({user, setUser});
export default AuthUserContext;
export const AuthUserProvider = ({ children } : {children: any}) => {
const [user, setUser] = useState(null);
return (
<AuthUserContext.Provider value={{ user, setUser }}>
{children}
</AuthUserContext.Provider>
);
};
AuthUserProvider.tsx
这是错误:
TypeError: setUser is not a function. (In 'setUser('')', 'setUser' is undefined)
This error is located at:
in App (created by ExpoRoot)
in ExpoRoot (at renderApplication.js:45)
in RCTView (at View.js:34)
in View (at AppContainer.js:106)
in DevAppContainer (at AppContainer.js:121)
in RCTView (at View.js:34)
in View (at AppContainer.js:132)
我是新来的本地人,并且一直在尝试解决这个问题几个小时。 任何帮助表示赞赏。 太感谢了!
您的上下文的初始值似乎是未定义的。
var user: any, setUser: any;
const AuthUserContext = React.createContext({ user, setUser }); // both undefined
定义上下文的形状。
var user: any, setUser: any;
const AuthUserContext = React.createContext({
user: '',
setUser: () => {}, // <-- indicate setUser is a function
});
请参阅从嵌套组件更新上下文
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.