Компонент не будет перерисовываться, когда изменения происходят в хранилище - PullRequest
0 голосов
/ 18 октября 2019

У меня проблемы с использованием саги Redux с реакционными хуками. В нем четко указано, что useSelector () подпишется на хранилище Redux и запускает селектор всякий раз, когда отправляется действие.

вот компонент, который я пытаюсь обновить:

import React from 'react';
import { useSelector} from "react-redux";

const InfoPage = () => {
    const summoner = useSelector(state => state.summoner);
    const loading = useSelector(state => state.loading);
    console.log(loading,summoner) {*/Both undefined and only gets called once*/}
    if(!summoner){
       return <div>Loading...</div>
    }

    return( 
        <div>
           {summoner.name}
        </div>
    )
}

export default InfoPage;

Компонентвызывается через history.push ('/ infopage'), когда я отправляю действие для извлечения "призывателя", который снова отправляет другое действие при успешном управлении извлечением призывателя. Это должно перерисовать мою инфо-страницу, если я правильно понимаю.

В моем хранилище с избыточностью есть значения после выборки, но инфо-страница не будет перерисовываться, вот последнее состояние:

Picture of my redux store

вот и мой редуктор

reducer

1 Ответ

0 голосов
/ 18 октября 2019

Я нашел проблему ... Я забыл, что мой редуктор саги называется "сага" при экспорте. поэтому, чтобы решить эту проблему, мне пришлось изменить:

 const summoner = useSelector(state => state.summoner);

на

 const summoner = useSelector(state => state.saga.summoner);
...