Я не могу лгать, я немного сбит с толку насчет реакт-редукса.Я думаю, что для многих действий требуются параметры (например, удаление элементов из магазина), но даже если я все еще читаю о том, как таким образом выполнить диспетчеризацию компонента, около 2 часов, я не сталполучить любые ответы.Меня пробовали с this.props.dispatch
и с mapDispatchToProps
, я всегда получаю сообщение this.props... is not a function
.Вот что я пытаюсь сделать:
const getTheArray = (array) => {
return {
type: 'GET_ARRAY',
array
}
}
class Example extends......
componentDidUpdate(){
//i have a button, and when it clicked, turns the status: 'deleted'
if (this.state.status === 'deleted'){
fetch('http://localhost:3001/deleteitem', {
method: 'post',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
id: this.props.id
})
})
.then(res => res.json())
.then(data => this.props.deleteFromArray(data))
.catch(err => console.log(err))
}
}
function mapStateToProps(state) {
return {
array: state.array
};
}
function mapDispatchToProps(dispatch) {
return({
deleteFromArray: (array) => {dispatch(getTheArray(array))}
})
}
export default connect(mapStateToProps, mapDispatchToProps)(Example);
Это не единственное место, где мне нужно отправить с действием, где свойства объекта действия зависят от другого свойства, переданного функции, поэтому я действительно хочуделайте, как лучше передать свойство в действие и отправить его в компонент реагирования.