Проблема в том, что ваше начальное состояние
this.state = {
renderData:[],
...
}
перезаписывается при вызове componentWillReceiveProps(nextProps, renderProps) {...}
.
Рассмотрим следующий вызов connect(...)
:
connect(
mapStateToProps,
{ getParties, searchData }
)(Organization)
Второй аргумент функции connect()
- обычно называемый mapDispatchToProps
, который в вашем случае является объектом - ожидает, что его атрибуты будут создателями действий (функциями). Вызов connect(...)
установит для searchData
вашего компонента значение создателя действия, которое вы импортируете с помощью import { getParties, searchData } from "../../actions";
.
Потому что
componentWillReceiveProps(nextProps, renderProps) {
...
this.setState({
...,
renderData: nextProps.searchData
});
...
}
вызывается до рендеринга вашего компонента, значение this.state.renderData
не будет []
, но создатель действия и, следовательно, filter
не является функцией вашего создателя действия.