0

最も単純な Redux アプリを構築しようとしています。初期状態があり、Redux ストアを作成し、ストアを ReactRedux.Provider に渡し、アプリを Provider の子として持っています。

ただし、ステートレスな機能コンポーネントとして記述された APP ビューは、小道具を受け取っていません。(メソッドを使用しReact.createClassてチェックするAPP ビューを作成する場合も同様です。)this.propsrender

私は何を間違っていますか?

var initialState = {
  counter: 0
};

var rootReducer = function(state, action) {
  if (!state) state = initialState;
  switch (action.type) {
  default:          // don't do anything yet
    return state;
  }
};

var store = Redux.createStore(rootReducer, initialState);

var APP = function(props) {
  return React.createElement(
    'div',
    {},
    props.counter   // props is not defined
  );
};

ReactDOM.render(
  React.createElement(
    ReactRedux.Provider,
    {store: store},
    React.createElement(APP, null)
  ),
  document.getElementById('app')
);
4

2 に答える 2

1

React-Redux が提供する関数を使用して、connect()実際にストアに接続される "APP" コンポーネントのラップされたバージョンを作成する必要があります。http://redux.js.org/docs/basics/UsageWithReact.htmlを参照してください。

ストアをサブスクライブし、更新された props をコンポーネントに渡すための同等のロジックを自分で作成できますが、通常、そうする正当な理由はありません。

于 2016-02-24T17:20:25.913 に答える