use*_*366 4 redux redux-thunk redux-saga react-redux 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 ..."+store);
console.log(Provider);
ReactDOM.render((
<Provider store={store}>
<App/>
</Provider>
), document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)
代码:这是我的reducer.js文件
reducer.js
import * as actionTypes from './actions';
const initialState = {
assistants:[],
fetchInProgress:true
}
const reducer = (state = initialState, action) =>{
return state;
};
export default reducer;
Run Code Online (Sandbox Code Playgroud)
代码:这是我的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;
Run Code Online (Sandbox Code Playgroud)
错误:未捕获错误:元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象。
检查的渲染方法Provider。
请参考两个图片以获取错误信息。我收到错误消息,请检查您的提供程序组件渲染方法,但这不是我要更改的提供程序渲染方法。因为它是从redux导入的类,所以请帮助我解决这个问题,最近两天我都无法解决。
与先前的代码以及新的React或Redux版本不兼容。
我遇到了这个问题,直到我降级了已安装的工具的等级之后,才看到比较package.json文件的附件图像。
我不知道是哪个文件。
通过屏幕右侧的阵容,它可以工作,而另一种则不管我做什么都会出现错误。
版本差异以黄色背景突出显示。
我猜(未经测试),问题源于react和react-dom软件包之间的版本差异。
Victor Nunes建议的解决方案是:
package-lock.json文件和node_modules文件夹 package.json npm install --save react react-dom react-redux react-scripts redux 除了上面列出的软件包之外,您可能还需要安装其他软件包。
我认为你的问题在于你传入的减速器。你是否使用过combineReducers函数来组合你的减速器?
import { createStore, combineReducers } from "redux";
const store = createStore(combineReducers({
//...all your reducers
}));
Run Code Online (Sandbox Code Playgroud)
与您的代码进行比较。也许从删除所有路线开始。问题可能存在
| 归档时间: |
|
| 查看次数: |
1346 次 |
| 最近记录: |