komponent powinien być aktualizowany nowe rekwizyty.
istnieją sposoby, aby osiągnąć swój cel: LIVE DEMO for examples
1. componentWillReceiveProps/componentDidUpdate sprawdzić, czy wartość zostanie zmieniona, wówczas coś zrobić ..
componentWillReceiveProps(nextProps){
if(nextProps.value!==this.props.value){alert(nextProps.value)}
}
2. Redux-obietnica (oprogramowanie pośrednie wyśle rozstrzygniętą wartość obietnicy)
export const updateState = (key, value)=>
Promise.resolve({
type:'UPDATE_STATE',
key, value
})
następnie w składniku
this.props.dispatch(updateState(key, value)).then(()=>{
alert(this.props.value)
})
2. Redux-thunk
export const updateState = (key, value)=> dispatch=>{
dispatch({
type:'UPDATE_STATE',
key, value
})
return Promise.resolve()
}
następnie w składniku
this.props.dispatch(updateState(key, value)).then(()=>{
alert(this.props.value)
})
Używasz 'thunk'? –
Myślę, że 'dispatch()' jest działaniem synchronicznym. Zaktualizowany stan powinien być dostępny w następnym wierszu. –
@PraneshRavi Tak myślałem. Ale mam stary stan. Nie użyłem 'thunk'. –