Я новичок в React и Redux.Я использую react 16.9
с redux 4.0.4
и react-redux 7.1.1
.
. Я замечаю, что могу напрямую получить доступ к базовой модели данных Redux (объектам в хранилище), не отправляя действия.
Рассмотримследующий компонент:
import React from 'react';
import { useSelector } from 'react-redux';
function MyComponent(props) {
const obj = useSelector(state => state.objReducer);
obj.newProperty = 'foo';
return <div />;
}
Когда компонент смонтирован, newProperty: foo
будет добавлен к objReducer
.
Насколько я понимаю, мы должны отправлять действия редукторам для внесения измененийк базовой модели данных.Также, как указано здесь , «С помощью useSelector () возвращение нового объекта каждый раз всегда будет вызывать повторную визуализацию по умолчанию».Так что useSelector
должен возвращать новый объект вместо реального объекта данных, верно?
Мне интересно, почему React-Redux useSelector
предоставляет разработчикам доступ к актуальным данным.