未捕获的类型错误,在react js中不是函数或可迭代对象



它显示的redux在react js中不是一个函数或可迭代对象。我检查了我所有的代码,看到了一些其他可迭代的函数,但没有回答我的错误https://i.stack.imgur.com/E4IkQ.png

这是我的代码。

GlobalState.js

import React, { createContext, useReduer } from 'react';
import AppReducer from './AppReducer';
const initialState = {
transactions: [
{ id: 1, text: 'Flower', amount: -20 },
{ id: 2, text: 'Salary', amount: 300 },
{ id: 3, text: 'Book', amount: -10 },
{ id: 4, text: 'Camera', amount: 150 }
]
}
export const GlobalContext = createContext(initialState);
export const GlobalProvider = ({ children }) => {
const [state, dispatch] = useReduer(AppReducer, initialState);
return (<GlobalContext.Provider value={{
transactions: state.transactions
}}>
{children}
</GlobalContext.Provider>);
}

AppReducer.js

/* eslint-disable import/no-anonymous-default-export */
export default (state, action) => {
switch(action.type) {
default:
return state;
}
}

App.js

import React from 'react';
import './App.css';
import { Header } from './components/Header';
import { Balance } from './components/Balance';
import { IncomeExpenses } from './components/IncomeExpenses';
import { TransactionList } from './components/TransactionList';
import { AddTransaction } from './components/AddTransaction';
import { GlobalProvider } from './context/GlobalState';
function App() {
return (
<GlobalProvider>
<Header />
<div className='container'>
<Balance />
<IncomeExpenses />
<TransactionList />
<AddTransaction />
</div>
</GlobalProvider>

);
}
export default App;

几天后我看到这个帖子还在开着,所以我发表了我的评论作为关闭它的答案。

从你的代码中,我看到你输入了useReduer,而不是useReducer。你能修好后再试一次吗?如果还是坏,请编辑

最新更新