から店舗に依存コンポーネント...テスト私は文脈から受け継がReduxのストアに依存しているコンポーネントのテストを設定する手間を抱えている状況
私のアプリはその子を与えるルートコンポーネントを持っています私は店舗によって異なりコンポーネントは(文脈から受け継がれ)ている
import ApplicationStore from './app-store.js'
class Root extends Component {
getChildContext() {
return { store: ApplicationStore }
}
render(){...}
}
Root.childContextTypes = {
store: PropTypes.object,
};
:コンテキストとしてReduxのストアが
class List extends Component {
render(){
const items = this.context.store.getState();
return items.map((_, i) => (
<div key={i}>{_.name}</div>
));
}
}
List.contextTypes = {
store: PropTypes.object,
};
だから私の質問は:どのように私は「注入」するために、ST私のコンポーネントのコンテキストにオブジェクトですか? unmock(./app-store.js)
する必要がありますか?また、どのようにして店をいくつかの備品で事前に充填することができますか?
ありがとうございます!
ありがとう、@ニコール。私はそれを読んで、アプリケーションを書いてコンテキストをコンテキストとして渡すことにしましたが、私はそれをずっと考えていませんでした。 –
React with Reduxを使用している場合は、公式の「React Redux」ライブラリを使用してコンポーネントをストアに接続する必要があります(https://github.com/reactjs/react-redux)。ストアの購読を管理します。そこからは、ちょうど小道具を取り込む "普通"のコンポーネントと、あなたが書いた 'mapStateToProps'関数をテストすることに集中でき、ストアを含むものをテストすることを心配する必要はありません。 [使用上の使用法](http://redux.js.org/docs/basics/UsageWithReact.html)および[Writing Tests](http://redux.js.org/docs/recipes/WritingTests.html)を参照してください。 docsページ。ありがとう、@ markerikson。 – markerikson
私は根元のコンポーネントをreact-reduxから ' 'でラップしました。 –