Я полагаю, что ваша проблема заключается в том, что вы вызываете как функцию отправки, так и реквизиты allSearches
.
Вместо
const mapStateToProps = state => {
return (
{
topSearches: state.topSearchReducer.topSearches,
allSearches: state.allSearchesReducer.allSearches
}
)
}
Попробуйте вызвать allSearches
здесь что-то еще, например searches
, например:
const mapStateToProps = state => {
return {
topSearches: state.topSearchReducer.topSearches,
searches: state.allSearchesReducer.allSearches
};
};
Я попытался воспроизвести вашу проблему здесьс некоторыми фиктивными данными из API тестирования:
В коде, если вы измените searches
в компоненте TopSearches
обратно на allSearches
, вы увидите, что ничего не произойдет, потому что теперь есть функция отправки и реквизит с именем allSearches
.
Чтобы избежать путаницы, нужно создать mapDispatchToProps
, например:
const mapDispatchToProps = dispatch => {
return (
{
allSearches: () => dispatch(allSearches())
}
)
}
Затем передается компонент старшего разряда connect
, например:
export default connect(
mapStateToProps,
mapDispatchToProps
)(TopSearches);
. Таким образом, вы сразу узнаете props
, доступные в вашем компоненте, и если у вас есть реквизиты сто же имя.