Redux 错误在<;提供商>;-检查“提供者”的呈现方法。反应还原
代码:这是我的index.js文件Redux 错误在<;提供商>;-检查“提供者”的呈现方法。反应还原,redux,react-redux,redux-thunk,redux-saga,react-router-redux,Redux,React Redux,Redux Thunk,Redux Saga,React Router Redux,代码:这是我的index.js文件 index.js import { Provider } from "react-redux"; import { createStore } from 'redux'; import App from './app'; import reducer from './store/reducer'; const store = createStore(reducer); console.log("Store
index.js
import { Provider } from "react-redux";
import { createStore } from 'redux';
import App from './app';
import reducer from './store/reducer';
const store = createStore(reducer);
console.log("Store ..."+store);
console.log(Provider);
ReactDOM.render((
<Provider store={store}>
<App/>
</Provider>
), document.getElementById('root'));
代码:这是我的app.js文件
app.js
class App extends Component{
render(){
return(
<HashRouter>
<Switch>
<Route exact path="/login" name="Login Page" component={Login}/>
<Route exact path="/register" name="Register Page" component=
{Register}/>
<Route exact path="/404" name="Page 404" component={Page404}/>
<Route exact path="/500" name="Page 500" component={Page500}/>
<Route path="/" name="Home" component={Full}/>
</Switch>
</HashRouter>
);
}
}
export default App;
类应用程序扩展组件{
render(){
返回(
);
}
}
导出默认应用程序;
错误:未捕获错误:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象
检查提供程序的渲染方法
请参考这两幅图像以了解错误。我得到错误,因为请检查您的提供程序组件渲染方法,但这不是我的手来更改提供程序渲染方法。因为它是从redux导入的类,所以,请帮助我解决这个问题,我在过去两天中遇到的问题无法解决。我认为您的问题在于您传递的减速器。
您是否使用了组合减速器功能来组合减速器
import { createStore, combineReducers } from "redux";
const store = createStore(combineReducers({
//...all your reducers
}));
与您的代码进行比较。也许从删除所有路线开始。可能存在问题与以前的代码以及新的React或Redux版本不兼容。
我一直有这个问题,直到我降级了我安装的工具后,才看到所附的package.json文件的图像进行比较。
我不知道哪个文件是罪魁祸首。
在屏幕右侧的排列可以正常工作,而在另一个排列中,无论我做什么,我都会得到错误。
版本差异以黄色背景突出显示。
我猜(未测试)问题源于react和react dom包之间的版本差异
Victor Nunes建议的解决方案是:
删除package lock.json
文件和node\u modules
文件夹
删除package.json上“依赖项”的所有内容
运行npm安装--保存react-react-dom-react-redux-react脚本redux
除了上面列出的软件包之外,您可能还需要安装其他软件包 我尝试导入thunk来解决数据类型问题,但它不是一个解决方案。你的app.js
是否正确导出了你试图在提供程序中呈现的组件
?你能给我们看一下应用程序类和应用商店吗?我正在寻找关于完全相同问题的帮助(可能是通过Max的相同教程学习)。我没有组合减速器。错误请参考图片。我已经在控制台中打印了存储和提供程序值。我猜你已经升级了react版本。您还需要升级react dom,它将解决此问题。我也有同样的问题,没有组合的还原器:导入*作为来自“../actionNames”的操作;const initialState={persons:[]};const reducer=(state=initialState,action)=>{switch(action.type){case actions.ADD_PERSON:console.log(actions.ADD_PERSON);返回状态;case actions.DELETE_PERSON:console.log(actions.DELETE_PERSON);返回状态;默认值:返回状态;};导出默认减速机@用户2775366我还没有一个解决方案,如果我有一个,我会尽快与大家分享,并更新这个问题,请大家一起讨论。尽管@varoonsHis版本确实有效,但我们在处理商店时遗漏了一些东西,可能是从州政府输入的联系数据,这些数据必须在讲座中遗漏或在语言更新中丢失。如果你想练习的话,我会把重点放在redux商店的研究上,这是调试,但我将使用his和learn部署,然后重点学习react/redux进程的语言实现,并在之后进行调试。上面列出的npm install
命令为我解决了这个问题(没有删除任何内容)。。在我的情况下,似乎有些依赖项不一致!非常感谢。除了react dom和react脚本,我已经尝试重新安装了所有东西,所以其中一个是我的罪魁祸首。此外,链接到您发现这些信息的位置将有助于某些上下文@Paul抱歉,我无法链接,这些信息来自我正在参加的React课程,而且不是免费的。
import { createStore, combineReducers } from "redux";
const store = createStore(combineReducers({
//...all your reducers
}));