Reactjs 找不到“;商店「;在“的上下文或道具中”;连接(应用程序)";。我有一个<;供应商>;正在包装组件
不变冲突:在“连接(应用)”的上下文或道具中找不到“存储”。将根组件包装在中,或者将“store”作为道具显式传递给“Connect(App)” 我不喜欢问一个已经被问了很多次的问题,但我尝试了所有建议的解决方案,但没有运气。 index.jsReactjs 找不到“;商店「;在“的上下文或道具中”;连接(应用程序)";。我有一个<;供应商>;正在包装组件,reactjs,redux,Reactjs,Redux,不变冲突:在“连接(应用)”的上下文或道具中找不到“存储”。将根组件包装在中,或者将“store”作为道具显式传递给“Connect(App)” 我不喜欢问一个已经被问了很多次的问题,但我尝试了所有建议的解决方案,但没有运气。 index.js import React, {Component} from 'react' import {AppRegistry} from 'react-native' import {Provider} from 'react-redux' import Ap
import React, {Component} from 'react'
import {AppRegistry} from 'react-native'
import {Provider} from 'react-redux'
import App from './app'
import configureStore from './store.js'
const store = configureStore();
class MyCounterApp extends Component {
render() {
return(
<Provider store={store}>
<App/>
</Provider>
)
}
}
AppRegistry.registerComponent('MyCounterApp', () => MyCounterApp)
reducer.js
import {ADD_TO_COUNTER} from './actions'
const initialState = {
counter: 0
}
const reducer = (state = initialState, action) => {
switch (action.type) {
case ADD_TO_COUNTER:
return {
...state,
counter: state.counter + 1
}
default:
return state
}
}
export default reducer;
我将随本教程一起介绍以下内容:
您尚未为应用程序组件提供应用商店。这就是为什么无法将组件与减速器连接:
类MyCounterApp扩展组件{
render(){
返回(
)
}
}
从app.js中删除提供程序如果您想在不使用store的情况下测试组件,首先要做的是导出断开连接的组件,如:
export{component}
然后您必须像这样导入测试文件:import{Component}from…
如果错误仍然存在,请查看组件是否使用已连接的组件,如果是,则必须模拟该组件,例如:
jest.mock('../../../AnotherComponent',()=>ChildComponent=>props=>)代码>
例如:
const Component = (props: Props) => (
<>
...
<AnotherComponent // connected component inside <Component />
{...props}
/>
</>
)
const mapStateToProps = (state: State) => ({});
const mapDispatchToProps = {
export default connect(
mapStateToProps,
mapDispatchToProps
)(Component);
export { Component }; // disconnected component
const组件=(道具:道具)=>(
...
)
常量mapStateToProps=(state:state)=>({});
const mapDispatchToProps={
导出默认连接(
MapStateTops,
mapDispatchToProps
)(构成部分);
导出{Component};//断开连接的组件
你的index.js.share在哪里?itI做了,这是第二个代码段:)这是作者最初使用它的方式,我也遇到了同样的问题。像这样吗?code
import configureStore from./store.js'const store=configureStore();类MyCounterApp扩展组件{render(){return(//允许我们访问存储区以分派操作并从//其子项中的状态(即)接收数据。)}AppRegistry.registerComponent('MyCounterApp',()=>MyCounterApp)code
完全相同的错误。我按照问题中的说明将修改后的代码作为编辑。请在帖子中更新您的代码。您是否导入了商店和提供商?或共享代码?我已将其添加到帖子的“编辑”下.谢谢你的帮助,我真的很感激。我不明白。你有什么不同?index.js中的附加行?这应该是一个react原生应用程序
import {ADD_TO_COUNTER} from './actions'
const initialState = {
counter: 0
}
const reducer = (state = initialState, action) => {
switch (action.type) {
case ADD_TO_COUNTER:
return {
...state,
counter: state.counter + 1
}
default:
return state
}
}
export default reducer;
const Component = (props: Props) => (
<>
...
<AnotherComponent // connected component inside <Component />
{...props}
/>
</>
)
const mapStateToProps = (state: State) => ({});
const mapDispatchToProps = {
export default connect(
mapStateToProps,
mapDispatchToProps
)(Component);
export { Component }; // disconnected component