вот в дочернем компоненте изменяю свойство:
setDefaultAdventureState() {
if (this.props.filterParams.filter_models.adventure_state === 0){
store.dispatch({
type: 'UPDATE_ADVENTURE_STATE',
payload: parseInt(this.state.adventure_states.off)
});
}else{
store.dispatch({
type: 'UPDATE_ADVENTURE_STATE',
payload: parseInt(this.state.adventure_states.on)
});
}
}
код редюсера:
case "UPDATE_ADVENTURE_STATE":
let filterParams = state;
filterParams.filter_models.adventure_state = action.payload;
return Object.assign({}, state, filterParams );
вот свойство изменилось в дочернем компоненте
и в родительском
но, мне нужно обновить адресную строку
прокинул функцию через props дочернему компоненту
и вывожу сначала в дочернем компоненте props, а потом в родительском
в дочернем adventure_state равно 1, а в родительском - null, в чем может быть проблема?
returnParams() {
console.log( this.props.filterParams )
this.props.callbackParams();
}
родитель
getParams() {
console.log( this.props.filterParams )
history.pushState({}, document.title, '?' + decodeURIComponent($.param(omitEmpty(this.props.filterParams))));
}