Вы должны использовать mapStateToProps, чтобы получить недавно обновленное состояние из состояния Redux.
Все, что вам нужно, - это обернуть экспорт компонента следующим:
const mapStateToProps = state => ({
deals: state.deals
});
export default connect(mapStateToProps)(ComponentName);
. получают необходимые данные о состоянии из initialState, который вы определили в своем редукторе, и ссылка на эти данные - это «сделки», которые можно использовать как обычную опору: this.props.deals
в случае компонента класса ИЛИ в качестве параметра при дескруктурировании ({deals})
в случае с функциональным компонентом.
Я не знаю полной структуры компонента, потому что вы его не добавили, но это правильный способ получить состояние из избыточного числа.
Кому Чтобы сделать вещи более понятными для вас, вы можете прочитать больше по этой ссылке: https://react-redux.js.org/using-react-redux/connect-mapstate
ОБНОВЛЕНИЕ: Я выяснил вашу проблему после добавления вашего ответа. Проблема с вашим кодом здесь: <button onClick={()=>this.props.done(this.props.deals,value.text)}>Done</button>
Вы получаете сделки напрямую из глобального состояния Redux, и при отправке своего действия вы передаете их непосредственно в методе отправки. Таким образом, ваш компонент не может прослушивать какие-либо изменения, происходящие с вашим компонентом. Вам нужно сохранить предложения в вашем местном штате:
state = {
deals: this.props.deals
}
и изменить onClick на следующее:
<button onClick={()=>this.props.done(this.state.deals,value.text)}>Done</button>