Я использую функции React, Redux и React-Redux Provider
const mapStateToProps = (store: any) => {
console.log("mapStateToProps", store.textTwo);
return store.textTwo;
};
, если я использую выше mapStateToProps
функцию для connect
метода react-redux
и обновляю состояние, которое она будет поддерживать. регистрировать изменения в функции mapStateToProps, но не в компоненте рендеринга, даже если он не componentWillReceiveProps
hook.
, но когда я добавляю spread operator
, т. е. изменяю данные возврата mapStateToProps
, он будет повторно отображать весь компонент.
const mapStateToProps = (store: any) => {
console.log("mapStateToProps", store.textTwo);
return { ...store.textTwo }; <-- this will re render complete component
};
как передать состояние реквизитам компонента без повторного рендеринга всего компонента.
--- Обновить ---
пример данных состояния
store = {
textTwo: {
headerText: 'Sample',
list: [
{
id: 1,
name: 'test 1'
}
]
},
text: {}
}
headerText
является дочерним компонентом для отображения заголовка заголовка. list
- это массив данных, который я итерирую и перечисляет имя.
Пробное решение (предоставленное @Siva Kondapi Venkata), и оно работает, но если я добавлю новый элемент в список, Компонент заголовка также перерисовывается.
const mapStateToProps = (store: any) => ({
textTwo: store.textTwo
});