Я пытаюсь реализовать список с React-Redux и возникла проблема. Я не знаю, как я могу поместить массив с предложениями в localStorage, а затем получить его. У меня есть вход, где я пишу сделку, а затем после нажатия кнопки «Добавить» значение помещает в массив сделок, а затем я сопоставить этот массив. Но я не знаю, как я могу поместить этот массив в localStorage в Redux. Я пробовал разные варианты, но они были неудачными. Теперь я поместил все состояния в localStorage, но что мне делать дальше, я не знаю.
Может быть, если я смогу каким-то образом получить состояние в действии, чем я могу понять, что список дел.
редуктор
const initialState ={
value: "",
deals: []
}
export default function toDoList(state = initialState, action){
switch(action.type){
case HANDLE_CHANGE:
return {
...state, value: action.value.target.value
}
case ADD_DEAL:
return {
...state, deals: [...state.deals, action.deal], value: ""
}
default:
return state
}
}
действие
export function handleChange(value){
return{
type: HANDLE_CHANGE,
value
}
}
export function addDeal(deal){
return{
type: ADD_DEAL,
deal
}
}
export function typeDeal(deal){
return (dispatch) =>{
if(deal == "" || deal == " "){
alert("Please type deal");
}else{
dispatch(addDeal(deal));
}
dispatch(getDealsLocalStorage())
}
}
export function getDealsLocalStorage(){
return (dispatch) =>{
const getlocalStorage = JSON.parse(localStorage.getItem('testLocal'));
const dealsLocal = getlocalStorage.ListInput.deals; //get array with deals from localStorage
}
}
index. js
const composeEnhancers =
typeof window === 'object' &&
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
}) : compose;
const store = createStore(
Reducer,
composeEnhancers(
applyMiddleware(thunk)
)
)
store.subscribe(()=>{
localStorage.setItem('testLocal', JSON.stringify(store.getState()))
})