MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Przeładowanie przeglądarki:nie wraca do wybranej strony, przechodzi do domyślnej strony głównej - ReactJs

Należy zachować stan redux w pamięci lokalnej podczas aktualizacji i inicjować sklep z pamięci lokalnej podczas ładowania aplikacji.

Przykład minimalnej trwałości sklepu Redux:

Utwórz „środkowy” komponent, aby obsłużyć stałe aktualizacje stanu w localStorage.

import React, { useEffect } from 'react';
import { useSelector } from 'react-redux];

const StorePersister = ({ children }) => {
  const state = useSelector(state => state);
  useEffect(() => {
    localStorage.setItem('myState', JSON.stringify(state));
  }, [state]);

  return children;
};

index - opakuj App komponent z utrwalaczem sklepu.

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import App from './components/App';
import StorePersister from './components/StorePersister';
import store from "./store";

ReactDOM.render(
  <Provider store={store}>
    <StorePersister>
      <App />
    </StorePersister>
  </Provider>,
  document.getElementById('root')
);

Zainicjuj stan z pamięci lokalnej. Jeśli nie ma klucza "myState" lub parsowanie zwraca null następnie pusty obiekt ({} ) będzie używany jako rezerwa.

import { createStore, applyMiddleware, compose } from "redux";
import thunk from "redux-thunk";
import rootReducer from "./reducers";

const initialState = JSON.parse(localStorage.getItem('myState')) || {};

const store = createStore(
  rootReducer,
  initialState,
  compose(
    applyMiddleware(thunk),
    (b&&a()) || compose
  )
);

export default store;

Istnieje również redux-persist pakiet, który oferuje trochę dostosowania do tego, co jest utrwalane i inicjowane z utrwalania.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NestJS:Jak zaimplementować uwierzytelnianie użytkownika w oparciu o sesję

  2. Jak usunąć niezweryfikowanego użytkownika za pomocą Mongoose i TTL

  3. Jak uzyskać dowolny element (punkt, ciąg linii, wielokąt) w obwiedni w mongodb

  4. Promuj podpola do najwyższego poziomu w projekcji bez wyświetlania wszystkich kluczy

  5. znaczenie sudo chown -R `id -u` /data/db