Как прослушивать определенные изменения свойств в Redux store после отправки действия
в настоящее время я пытаюсь концептуализировать, как обрабатывать диспетчеризацию действия в компоненте на основе изменения данных после отправки в другом компоненте.
возьмем такой сценарий:
dispatch(someAjax)
-> свойство в состоянии обновления.
после этого мне нужен другой компонент, зависящий от этого же свойства, чтобы знать, что is обновил и отправил действие на основе нового значения.
вместо использования некоторого типа value.on(change...
решение, что предпочтительный способ обработки этого типа действия "каскадирование"?
2 ответов
существует два основных подхода: либо промежуточное программное обеспечение, которое различает состояние после выполнения действия, либо использование низкого уровня Redux store.subscribe
API-интерфейс.
Redux FAQ имеет ответ, который охватывает это. Кроме того, я храню категоризированный список связанных с Redux аддонов и утилит, и это включает в себя группу существующие библиотеки подписки на изменение магазина которые реализуют различные подходы к прослушиванию изменений данных.
вы можете использовать connect
С крюк.
так что в принципе ваш код может выглядеть так:
const mapStateToProps = (state) => ({
specificProperty: state.specificProperty,
// any props you need else
});
class YourComponent extends React.Component {
render() {
// render your component
}
componentDidUpdate(prevProps, prevState, snapshot) {
if (prevProps.specificProperty !== this.props.specificProperty) {
// Do whatever you want
}
}
}
YourComponent = connect(mapStateToProps)(YourComponent);