我正在用chai + karma +酶测试反应成分。
mount(
<Provider store={configureStore(mockContext, null)}>
<Component {...props} />
</Provider>
)
我在这个组件context.router.location中使用。我得到的错误是这个未定义的。我尝试使用mount的第二个参数传递上下文,如下所示:
mount(
<Provider store={configureStore(mockContext, null)}>
<Component {...props} />
</Provider>,
{
context: {
router: {
location: { pathname: '' }
}
},
childContextTypes: {
router: React.PropTypes.object
}
})
如何在我的组件中传递上下文?
"react-router": "^3.0.2",
"enzyme": "^2.3.0",
P.S。打字稿:)
答案 0 :(得分:0)
您需要将childContextTypes
作为单独的对象传递,而不是作为
mount(
<Provider store={configureStore(mockContext, null)}>
<Component {...props} />
</Provider>,
{
context: {
router: {
location: { pathname: '' }
}
},
childContextTypes: {
router: React.PropTypes.object
}
})