У меня есть это действие
export const UserIsLoggedIn = isLoggedIn => (
{ type: types.USER_IS_LOGGED_IN, isLoggedIn });
это действиеConstant
export const USER_IS_LOGGED_IN = "USER_IS_LOGGED_IN";
index.js вот так
import { UserIsLoggedIn } from "./redux/actions";
getUser = () => {
this.authService.getUser().then(user => {
if (user) {
this.props.UserIsLoggedIn(true);
}
}
}
const mapDispatchToProps = {
UserIsLoggedIn
}
export default connect(mapStateToProps, mapDispatchToProps) (Index);
, так что в итоге с приведенным выше кодом я получаю это.props.UserIsLoggedIn не является ошибкой функции, если я делаю UserIsLoggedIn(true);
, то ничего не происходит ... Я не совсем понимаю, в чем проблема ..
в рамках расширения Chrome, которое я могу отправить ниже безошибка:
{
type: "USER_IS_LOGGED_IN", isLoggedIn : true
}
ниже, как правило, выглядит как индекс
const store = configureStore();
class Index extends Component {
componentWillMount() {
this.getUser();
}
getUser = () => {
this.authService.getUser().then(user => {
if (user) {
console.log(this.props.isUserLoggedIn);
toastr.success("Welcome " + user.profile.given_name);
} else {
this.authService.login();
}
});
};
render() {
return (
<Provider store={store}>
<BrowserRouter>
<Route path="/" exact component={App} />
<Route path="/:type" component={App} />
</BrowserRouter>
</Provider>
);
}
}
function mapStateToProps(state) {
return {
isUserLoggedIn : state.User.isLoggedIn
}
}
const mapDispatchToProps = {
UserIsLoggedIn
}
export default connect(mapStateToProps, mapDispatchToProps) (Index);
ReactDOM.render(<Index />, document.getElementById("root"));
serviceWorker.unregister();
Примечание: Другой аспект, mapStateToProps, тоже не работает ....