@hood52

Задержки в react-redux, это нормально?

Добрый, возник вопрос - в реакт-приложении по клику на блок вызывается функция
const handleClick = (e) => {
    dispatch(clickActions.add([e.clientX, e.clientY]));
}

в самом функциональном компоненте данные получаются через
const points = useSelector(state => state.points)
экшн clickAction и соответствующий редьюсер максимально примитивны - один возвращает 'ADD' и сам массив, который ему передали, а второй добавляет данные в стор.
Вопрос в следующем. сразу после диспатча я решил воспользоваться константой points - ведь логично, что я сделал диспатч и пора бы данные использовать. где-то внутри я понимаю, что тут не так что-то, может кто нибудь подробно и обстоятельно объяснить где я в размышлениях свернул не туда?

UPD1: если нужно прямо сейчас и сразу использовать данные, может быть их записать в переменную, а потом синхронизировать с глобальным стором? или так вообще грязно выйдет?

UPD2: код компонента:
// ... импорты

const Comp = () => {
    const dispatch = useDispatch();
    const points = useSelector(state => state.points);

    const handleClick = (e) => {
        dispatch(actions.clickActions.add([e.clientX, e.clientY]);

        // вот тут я уже хочу использовать данные из стора
       console.log(points); // Выводится старые данные, до диспатча, вопрос как все это дело переделать
    }

    return <button onClick={handleClick}>Click</button>;
}

// ... экспорт


UPD3: ясно, кажется я просто не до конца понял жизненный цикл компонентов
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы