当try 运行我的Reaction应用程序时,我在浏览器控制台中收到以下错误:未捕获TypeError:useSelector不是一个函数.代码在VS Code上编译得很好.
下面是导致问题的App.js代码:
const BrowserRouter = require('react-router-dom');
const Navigate = require('react-router-dom');
const Routes = require ('react-router-dom');
const Route = require ('react-router-dom');
const HomePage = require ('scenes/homePage');
const LoginPage = require ('scenes/loginPage');
const ProfilePage = require ('scenes/ProfilePage');
const useMemo = require ('react');
const useSelector = require ('react-redux');
const CssBaseline = require ('@mui/material');
const ThemeProvider = require ('@mui/material');
const createTheme = require ('@mui/material/styles');
const themeSettings = require ('./theme');
function App() {
const mode = useSelector((state) => state.mode);
const theme = useMemo(() => createTheme(themeSettings(mode)), [mode]);
const isAuth = Boolean(useSelector((state) => state.token));
return (
<div className="app">
<BrowserRouter>
<ThemeProvider theme={theme}>
<CssBaseline />
<Routes>
<Route path="/" element={<LoginPage />} />
<Route
path="/home"
element={isAuth ? <HomePage /> : <Navigate to="/" />}
/>
<Route
path="/profile/:userId"
element={isAuth ? <ProfilePage /> : <Navigate to="/" />}
/>
</Routes>
</ThemeProvider>
</BrowserRouter>
</div>
);
}
export default App;
任何帮助都将不胜感激.谢谢
我首先看了一下之前的帖子,并try 了以下几种方法:
- 我仔细判断了一下,使用:const useSelector=Required(‘action-redux’)正确地导入了useSelector;
- 我还判断了我的Reaction-Redux是最新版本.
- 我还判断了Reaction-Redux文档,以确保语法正确,似乎不是语法错误