Я использую MobX
для управления состоянием, а также сохраняю некоторую информацию в localStorage
.
Вот как выглядит мой mobxStore:
const hydrate = create({
storage: localStorage, // or AsyncStorage in react-native; default: localStorage
jsonify: false // if you use AsyncStorage, here shoud be true; default: true
})
export class VendorStore {
@observable vendor = {};
@persist @observable.ref loginState = localStorage.getItem('loginState');
}
var vendorStore = new VendorStore()
hydrate('vendorStore', vendorStore).then(() => console.log('vendorStore has been hydrated'))
export default vendorStore
Идея состоит в том, чтобы контролировать перенаправление страницы по loginState
Вот как выглядит мой Dashboard.js
:
if (vendorStore.loginState === false) { return <Redirect to='/signin' /> }
if (vendorStore.loginState === true) {
return (
<div className="Dashboard">
<h1>Dashboard</h1>
<Main />
</div>
)
Он либо не работает должным образом, не перенаправляет, когда loginState
равен false
, либо выдает ошибку реагирования рендеринга следующим образом:
react-dom.development.js:57 Uncaught Invariant Violation: Dashboard(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null;
Любая помощь будет оценена,
Спасибо