Bonjour,

J'ai l'erreur suivante à l'exécution de mon projet en react 16:

Could not find "store" in the context of "Connect(getContext(ScormManager))". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to Connect(getContext(ScormManager)) in connect options.

L'index.js est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
const store = createStore(initialState);
 
ReactDOM.render(
    <Provider store={store}>
      <ScormManager>
        <App/>
      </ScormManager>
    </Provider>,
  document.getElementById("root")
);

Dans le Provider, j'ai le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
export default class Provider extends Component {
getChildContext() {
    return {
      store: this.store,
    };
  }
 
  render() {
    return Children.only(this.props.children);
  }
}

Dans ScormManager :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class ScormManager extends Component {
constructor() {
    super();
    ...
    }
 
render() {
    return Children.only(this.props.children);
    }
}
 
const mapStateToProps = state => ({
  ...
});
 
const mapDispatchToProps = {
...
};
 
const enhanced = compose(
  connect(
    mapStateToProps,
    mapDispatchToProps
  ),
  getContext({
    store: PropTypes.object
  })
);
 
export default enhanced(ScormManager);

Je ne comprends pas ce qui se passe... En cherchant sur le net, je n'ai rien trouvé d'intéressant.

Auriez-vous une idée svp ?

Merci.