오늘 반응 및 절약을 배우 겠다는 내용의 진술을하고 있지만 상태 변경 후에 구성 요소가 강제로 다시 렌더링되도록하는 방법을 알 수 없습니다. 내가 업데이 트를 게재 할 수React-redux 구성 요소가 저장소 상태 변경시 다시 렌더링되지 않습니다.
const store = createStore(loginReducer);
export function logout() { return {type: 'USER_LOGIN'} }
export function logout() { return {type: 'USER_LOGOUT'} }
export function loginReducer(state={isLogged:false}, action) {
switch(action.type) {
case 'USER_LOGIN':
return {isLogged:true};
case 'USER_LOGOUT':
return {isLogged:false};
default:
return state;
}
}
class App extends Component {
lout(){
console.log(store.getState()); //IT SHOW INITIAL STATE
store.dispatch(login());
console.log(store.getState()); //IT SHOWS THAT STATE DID CHANGE
}
////THIS IS THE PROBLEM,
render(){
console.log('rendering')
if(store.getState().isLogged){
return (<MainComponent store={store} />);
}else{
return (
<View style={style.container}>
<Text onPress={this.lout}>
THE FOLLOWING NEVER UPDATE :(!!{store.getState().isLogged?'True':'False'}</Text>
</View>
);
}
}
유일한 방법은 내가 수동으로 다시 쓰게을 강제로 구성 요소의 업데이트 상태를 실행할 수 있도록, 생성자 내부
store.subscribe(()=>{this.setState({reload:false})});
를 사용하여 :
여기 내 코드입니다.
하지만 어떻게 저장소와 구성 요소 상태를 모두 연결할 수 있습니까?
는'App.propTypes'는') (연결'는 사용하는 데 필요한? 네가 거기에 버린 것처럼 보였다. –
정말 고마워요! –