Haben Sie ein Problem mit state
in meiner Komponente. Ich versuche Status von meinem Minderer zu bekommen, aber state
leer ist nur undefined
Empty Zustand in der Komponente (react redux)
bekommen Hier ist meine actionCreator
export function checkLogin() {
return function(dispatch){
return sessionApi.authCheck().then(response => {
dispatch(authSuccess(true));
}).catch(error => {
throw(error)
})
}
}
Mein Minderer
export const authStatus = (state = {}, action) => {
switch(action.type){
case AUTH_FALSE:
return{
status: action.status
}
case AUTH_TRUE:
return {
...state,
status: action.status
};
default:
return state;
}
};
Und hier ist mein Komponente, wo ich versuche, Zustand
012 zu bekommenconst mapStateToProps = (state) => {
return {
status: state.status
}
};
const mapDispatchToProps = (dispatch:any) => {
const changeLanguage = (lang:string) => dispatch(setLocale(lang));
const checkAuth =() => dispatch(checkLogin());
return { changeLanguage, checkAuth }
};
@connect(mapStateToProps, mapDispatchToProps)
brauche ich status
vom Staat
Komponente
import * as React from "react";
import Navigation from './components/navigation';
import { connect } from 'react-redux';
import { setLocale } from 'react-redux-i18n';
import cookie from 'react-cookie';
import {checkLogin} from "./redux/actions/sessionActions";
class App extends React.Component<any, any> {
constructor(props:any) {
super(props);
this.state = {
path: this.props.location.pathname
};
}
componentDidMount(){
this.props.checkAuth();
this.props.changeLanguage(cookie.load('lang'));
}
componentWillUpdate(){
}
render() {
return (
<div>
<Navigation path={this.state.path} />
{this.props.children}
</div>
)
}
}
const mapStateToProps = (state) => {
return {
status: state.status
}
};
const mapDispatchToProps = (dispatch:any) => {
const changeLanguage = (lang:string) => dispatch(setLocale(lang));
const checkAuth =() => dispatch(checkLogin());
return { changeLanguage, checkAuth }
};
@connect(mapStateToProps, mapDispatchToProps)
export class Myapp
extends App {}
, sobald Sie den Zustand der Komponente Requisiten mit 'mapStateToProps' passieren, sollte es durch die Requisiten zugänglich sein, die Komponente. Versuchen Sie auf 'this.props.status' zuzugreifen? Sie sollten die vollständige Komponente anzeigen, damit die Leute Ihr Problem verstehen können. –
yeah Ich versuche, Daten von 'this.props.status' zu bekommen und' undefined' zu bekommen Ich habe keine Ahnung, warum es so geht –
könnte es eine Reihe von Gründen geben, ist es schwer zu sagen? Hast du deinen Reducer in die 'Mähdrescher'-Funktion integriert? Passen Sie irgendwelche Fälle in Ihrem Reduzierer zusammen? –