Я новичок в следующем js, и я использую redux-next-wrapper!
Проблема в том, что я хочу отправить токен, но когда я делаю это в getInitialProps, хранилище не обновляется после рендеринга страницы!
Я пытаюсь использовать componentDidMount, он работает, но состояние обновляется только после рендеринга страницы, что делает видимой кнопку входа в систему за одну секунду до того, как ее заменить выходом из системы!
componentDidMount () {
const token_access = Cookies.get('xxxxxxxxxx');
const token_refresh = Cookies.get('xxxxxxxxxx');
console.log(token_access);
if (token_access && token_refresh) {
const decode = jwt_decode(token_refresh);
if (decode.exp >= new Date()) {
this.props.store.dispatch(logout(token_refresh))
}
else {
const decode_access = jwt_decode(token_access);
if (decode_access.exp >= new Date()) {
refresh(token_refresh)
}
this.props.store.dispatch(userLoggedIn(token_access));
}
}
}
static async getInitialProps ({Component, ctx}) {
const token = '12345';
ctx.store.dispatch(userLoggedIn(token));
return {
pageProps: (Component.getInitialProps ? await Component.getInitialProps(ctx) : {})
}
}
import { createStore, applyMiddleware } from 'redux'
import { composeWithDevTools } from 'redux-devtools-extension';
import thunk from 'redux-thunk';
import rootReducer from '../reducers/index'
export default initialState => createStore(
rootReducer,
composeWithDevTools(
applyMiddleware(thunk)
)
);
Есть ли способ отправить и загрузить хранилище перед визуализацией страницы?
Спасибо за ваш ответ