我构建了一个 React,现在我尝试从 React Router dom 迁移到 Next.js。我进行了重大更改并重构了代码;(pages/routes 和 store.js)但后来我收到此错误“ReferenceError:localStorage 未定义”。
19 | const initialState = {
> 20 | access: localStorage.getItem('access'),
| ^
21 | refresh: localStorage.getItem('refresh'),
22 | isAuthenticated: null,
23 | user: null
Run Code Online (Sandbox Code Playgroud)
你能帮我解决这个问题吗?
减速器/auth.js:
import {
LOGIN_SUCCESS,
LOGIN_FAIL,
SIGNUP_SUCCESS,
SIGNUP_FAIL,
ACTIVATION_SUCCESS,
ACTIVATION_FAIL,
USER_LOADED_SUCCESS,
USER_LOADED_FAIL,
AUTHENTICATED_SUCCESS,
AUTHENTICATED_FAIL,
PASSWORD_RESET_SUCCESS,
PASSWORD_RESET_FAIL,
PASSWORD_RESET_CONFIRM_SUCCESS,
PASSWORD_RESET_CONFIRM_FAIL,
LOGOUT
} from '../actions/types';
const initialState = {
access: localStorage.getItem('access'),
refresh: localStorage.getItem('refresh'),
isAuthenticated: null,
user: null
};
export default function (state = initialState, action) {
const { …Run Code Online (Sandbox Code Playgroud) 我迁移到 next.js 并开始使用 next-i18next。我想知道,如何使 next-i18next 从公共文件夹加载语言环境?仅当我将 locales 文件夹放在根目录中而不是公开时,它才有效。
i18n.json ;
{
"locales": ["en", "fr", "ar"],
"defaultLocale": "en",
"pages": {
"*": ["common"]
}
}
Run Code Online (Sandbox Code Playgroud)
next.config.js ;
// next.config.js
const nextTranslate = require("next-translate");
module.exports = {
...nextTranslate(),
};
Run Code Online (Sandbox Code Playgroud)