
代码:这是我的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'));代码:这是我的reducer.js文件
reducer.js
import * as actionTypes from './actions';
const initialState = {
assistants:[],
fetchInProgress:true
}
const reducer = (state = initialState, action) =>{
return state;
};
export default reducer;代码:这是我的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;错误:未捕获错误:元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但got: object。
检查Provider的render方法。
请参考两个镜像以查找错误。我收到错误,因为请检查您的提供程序组件渲染方法,但这不是我手中的更改提供程序渲染方法。因为它是从redux导入的类,所以,请帮我解决这个问题,这是我过去两天所面临的无法解决的问题。
发布于 2019-01-17 22:32:47
与以前的代码和新的React或Redux版本不兼容。
我一直有这个问题,直到我降级我安装的工具,查看附件中的package.json文件比较的图像。

我不知道哪个文件才是罪魁祸首。
在屏幕右侧的列表中,它可以工作,而在另一个列表中,无论我做什么都会得到错误。
版本差异以黄色背景突出显示。
我猜测(未经过测试)该问题源于react和react-dom包之间的版本差异。
维克多·努内斯提出的一个解决方案是:
package-lock.json文件和node_modules文件夹package.json 除了上面列出的那些包之外,您可能还需要安装其他包。
发布于 2019-01-15 05:14:21
我想你的问题是你正在传递的减速器。你用过combineReducers函数来组合你的reducers吗?
import { createStore, combineReducers } from "redux";
const store = createStore(combineReducers({
//...all your reducers
}));与您的代码进行比较。也许可以从删除所有路由开始。问题可能出在那里
发布于 2019-01-20 08:04:41
我尝试导入thunk来解决数据类型问题,但这不是一个解决方案。
https://stackoverflow.com/questions/54187538
复制相似问题