1

親コンポーネントの数層下にある子コンポーネントに Redux を接続するにはどうすればよいですか? store爆破せずに小道具に渡す方法がわかりません。

私は IronRouter を使用しておらず、React 0.13 で Redux 3 を使用しています。次に例を示します。

const SearchBar = React.createClass({
  render() {
    return <div> {this.props.text} </div>;
  }
});


function mapStateToProps(state) {
  return {text: state.search.text};
}

_SearchBar = connect(mapStateToProps)(SearchBar);

「Connect(SearchBar)」のコンテキストまたは小道具で「store」が見つかりませんでした。ルート コンポーネントを でラップするか<Provider>、明示的に「store」を prop として「Connect(SearchBar)」に渡します。

4

2 に答える 2

4

中間コンポーネントを介してストアを完全に渡すか、メッセージが示すよう<Provider>に、アプリの上部にあるコンポーネントを使用して自動的に渡す必要があります。

于 2015-10-05T22:19:28.727 に答える
2

1) ルート コンポーネントを次のようにラップします<Provider store={store}></Provider>

class Root extends React.Component {
  render() {
    return (
      <Provider store={store}>
        <YourAppComponent />
      </Provider>
    )
  }
}

ProviderReact のcontextを介してストアを渡します。

2)connect()今すぐ動作するはずです:)、ただし、接続されているすべてのコンポーネントがの子孫である場合のみ<YourAppComponent />

于 2015-10-06T09:17:30.323 に答える