У меня есть какое-то состояние в моем компоненте, которое я хочу передать действию в React.js. Как я могу это сделать?Как передать состояние в действие в React.js?
mycomponent.js
cityHandleUpdateInput() {
this.setState({
city: this.refs.city.refs.searchTextField.input.value
})
const { city } = this.state;
this.props.fetchResCity(city)
}
myaction.js
export const fetchResCity = (city) => (dispatch, getState) => {
if (!getState().resCity.isFetching) {
console.log(getState().city)
console.log(city)
const endpoint = 'rescity?city=${city}';
dispatch({
[CALL_API]: {
types: [ RES_CITY_REQUEST, RES_CITY_SUCCESS, RES_CITY_FAILURE ],
endpoint: endpoint
}
})
}
}
Это не работает. Что-то не так в моем коде? Когда я регистрирую эту переменную города в своем действии, это всего лишь undefined
.
Это он правильно зарегистрирован в cityHandleUpdateInput –
Я думаю, что setState потребует времени для обновления состояния. Можете ли вы просто передать 'this.refs.city.refs.searchTextField.input.value' в функции fetchCity –