Я пытаюсь установить состояние текущего элемента в выпадающем списке.Я думал, что будет более простой способ сделать это, чем пройти через всю цепочку действий / редукторов.Но в этом случае setState
всегда будет пустым и componentWillReceiveProps
никогда не будет вызываться.
Есть ли способ сделать это?
componentWillReceiveProps(nextProps) {
console.log("collection next props", nextProps);
this.setState({
currentList: nextProps.currentList,
});
}
handleChange (e) {
console.log('handle change called', e.target.value); //Value is received
//this.setState({value: e.target.value});
this.setState({currentList: e.target.value}); //This is never getting the value
this.props.fetchlistOfAssets(e.target.value); //This action executes without problem
};
render() {
/* Read from market and last price */
const postItems = this.props.indexes.map(post => (
<option key={post} value={post}>{post}</option>
));
return (
<div>
<h1>Select index</h1>
<select name="index" onChange={this.handleChange}>{postItems}</select>
</div>
);
}
}
Изменить добавление connect и mapState
const mapStateToProps = state => ({
indexes: state.posts.indexdays,
currentList: state.posts.currentList
});
export default connect(
mapStateToProps,
{ fetchIndexDays, fetchlistOfAssets }
)(CollectionDropDown);