в redux-react при отправке начального рендеринга компонента и изменении состояния

Я создал компонент входа в систему, и есть состояние Auth с redux

это и редуктор для обновления состояния Auth (изначально он установлен как FALSE)

но при первоначальном рендеринге отправка вызывается 4 раза, и состояние обновляется до ИСТИНА

Я пробовал useMemo, но не знаю, как правильно его использовать.

https://codesandbox.io/s/react-reducer-ijhj5?file=/src/Components/LoginComponent.js


person Vijayashankar Aruchamy    schedule 12.02.2021    source источник


Ответы (1)


В вашем коде есть ошибка

<button onClick={() => memoziedLogin}>Login</button>

memoziedLogin следует называть как memoziedLogin(). См. Ниже ниже

<button onClick={() => memoziedLogin()}>Login</button>
person moshfiqrony    schedule 12.02.2021
comment
хорошо @moshfiqrony, но все то же самое, попробовал то, что вы сказали, получил вещи, отображаемые при загрузке, и отправил действие и состояние, измененное при первоначальном рендеринге - person Vijayashankar Aruchamy; 13.02.2021
comment
Какое действие вызывает? - person moshfiqrony; 13.02.2021
comment
const memoziedLogin = useMemo(() => { dispatch(LoginAction()); }, []); это событие, прикрепленное к кнопке <button onClick={() => memoziedLogin()}>Login</button> теперь, даже до нажатия кнопки, при первоначальном рендеринге вызывается этот memoziedLogin, который вызывается внутренним LoginAction - person Vijayashankar Aruchamy; 14.02.2021