Я пытаюсь создать постоянное состояние с помощью ловушек localStorage и React в Next. js Приложение SSR и все выглядит хорошо, но когда я перезагружаю страницу после обновления моих данных, я получаю сообщение об ошибке:
Внимание: текстовое содержимое не соответствует. Сервер: "0" Клиент: "5"
Что я могу сделать, чтобы это исправить? Это мой код:
import React, { createContext, useContext, useReducer } from 'react';
import Reducer from '../utils/Reducer';
const StoreContext = createContext();
let defaultState = {
count: 0,
message: "",
pageView: 0,
};
export const StoreProvider = ({ children }) => {
const [state, dispatch] = useReducer(Reducer, {}, () => {
const localData = process.browser ? localStorage.getItem('state') : null
return localData ? JSON.parse(localData) : defaultState
});
return (
<StoreContext.Provider value={{state, dispatch}}>
{children}
</StoreContext.Provider>
)
}
export const useStore = () => useContext(StoreContext);
Демонстрация в кодах andbox