Estoy usando Redux con React y tengo una lista de elementos en el primer componente que luego se almacena en la tienda Redux y cuando voy a otra página, la tienda se restablece.

Reductor

const postsreducer=(state=['hello','world'],action)=>{
    switch(action.type){
        case 'GET_LIST':
            return state
        case 'COPY':
            state=action.payload
            return state
        default:
            return state

    }
};

export default postsreducer

///// copiar datos para almacenar

axios.get('http://my-json-server.typicode.com/VKR981/demo/posts/').then(res=>{  dispatch1(copyposts(res.data)); })

///// ir a otro componente

<Button href='/createpost'>Create post</Button>

El estado ha vuelto a 'hola mundo'

0
sandstorm 23 ago. 2020 a las 21:25

1 respuesta

La mejor respuesta

En primer lugar, haga su cambio de esta manera:

switch(action.type){
    case 'GET_LIST':
        return state;
    case 'COPY':
        return action.payload;
    default:
        return state;
}

Luego, use el enrutador de reacción Link para cambios de ruta como este:

import { Link } from "react-router-dom";
<Button as={Link} to="/createpost">Create post</Button>
0
pedram afra 23 ago. 2020 a las 19:34