Pourquoi mes accessoires `undefined` lors de l'utilisation de redux et react.js?

J'ai essayé d'ajouter un état à mon application que vous venez d'enregistrer un booléen quand un événement est passé. Je ne peux pas comprendre ce que je fais mal ici.

Réducteur:

import * as actionTypes from '../constants/action-types.js';

const initialState = [{
  eventPassed: false
}];

export default function eventPassed(state = initialState, action) {
  switch (action.type) {
    case actionTypes.EVENT_PASSED:
      return true;
    default:
      return state;
  }
}

Action:

import * as actionTypes from '../constants/action-types';

export function eventPassed(eventPassed) {
  return {
    type: actionTypes.EVENT_PASSED,
    payload: { eventPassed: eventPassed }
  };
}

Conteneur autour de composant:

import React, { Component } from 'react';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import Example from '../components/example.jsx';
import { eventPassed } from '../actions/app-actions';

class ExampleContainer extends Component {
  render() {
    return (
      <Example {...this.props} />
    );
  }
}

const mapDispatchToProps = (dispatch) => ({
  actions: bindActionCreators({
    eventPassed
  }, dispatch)
});

const mapStateToProps = (state) => ({
  eventPassed: state.eventPassed
});

export default connect(mapStateToProps, mapDispatchToProps)(ExampleContainer);

Composant:

import React, { Component, PropTypes } from 'react';

class Example extends Component {

  constructor() {
    super();
    this.action = this.action.bind(this);
  }

  componentDidMount() {
    this.props.actions.eventPassed(true);
  }

  action() {
    console.log(this.props.eventPassed);
  }

  render() {
    return (
      <div>
        <button onClick={this.action}>Action</button>
      </div>
    );
  }
}

export default Example;

Quand j'essaie de me connecter ".accessoires de jeu.eventPassed" dans le <Example /> composant qu'il me donne "undefined". Est-il quelque chose qui manque? Ce qui semble être la plus simple l'utilisation de la boutique en redux.

Votre réducteur doit retourner à l'état d'objet, dans votre cas, {eventPassed: true}
Il n'est pas présent.accessoires de jeu.eventPassed sur le <Example /> composant. Voir ma réponse ci-dessous
Édité ma réponse pour être plus lisible

OriginalL'auteur Jim Peeters | 2016-11-16