#javascript #reactjs #typescript #redux #react-hooks
Вопрос:
Я работаю над веб-приложением React, используя машинопись, крючки. У каждого компонента должен быть только один useSelector(), но на самом деле у меня есть 2 useSelector(), есть ли какое-либо решение для объединения 2 useSelector() или что-то еще.
export default function UserInfo() {
const { city1, city2, city3 } = useSelector(cityNameSelector);
const { country } = useSelector(countryNameSelector);
.....
...
}
Комментарии:
1. Вы можете вызвать функцию useSelector() несколько раз в одном функциональном компоненте. Каждый вызов функции useSelector() создает индивидуальную подписку на магазин Redux. Из-за поведения пакетной обработки обновлений React, используемого в React Redux v7, отправленное действие, которое заставляет несколько элементов управления()в одном компоненте возвращать новые значения, должно приводить только к одному повторному отображению. — react-redux.js.org/api/hooks#useselector
2. можем ли мы избежать выбора использования и может ли это быть сделано путем прямого импорта
3. Нет, потому
useSelector()
что вызывает повторную визуализацию компонента при изменении состояния. Вам следует прочитатьreact-redux
документы.