フルスタックチャンネル
サインアップサインアップ
ログインログイン
利用規約プライバシーポリシーお問い合わせ
Copyright © All rights reserved | FullStackChannel
解決済
TypeError: middleware is not a function(サブスク アカウント認証扁)
初心者
abc
2024/05/19 12:26

サブスクのアカウント認証扁をとりあえず真似してみています

発生している問題

store.jsのcreateStoreのreducersのところでTypeError: middleware is not a functionのエラーが出ます2度すべてコードを書き直したためおそらくタイプミスではないかと思いますがなぜエラーが出ているのかは一切わかりません

ソースコード

store.js
import { useMemo } from 'react'
import { createStore, applyMiddleware } from 'redux'
import { composeWithDevTools } from 'redux-devtools-extension'
import thunkMiddleware from 'redux-thunk'
import reducers from './reducers'

let store

function initStore(initialState) {
return createStore(
reducers,
initialState,
composeWithDevTools(applyMiddleware(thunkMiddleware)))
}

auth.js

const initialState = {
user: null,
isAuthenticated: null,
loading: false,
}

const authReducer = (state = initialState, action) => {
const { type, payload } = action

switch (type) {
    default:
        return state
}

}
export default authReducer

index.js
import { combineReducers } from 'redux'
import authReducer from './auth'

export default combineReducers({
auth: authReducer,
})

error箇所
9 | function initStore(initialState) {
10 | return createStore(

11 | reducers,
| ^
12 | initialState,
13 | composeWithDevTools(applyMiddleware(thunkMiddleware)))
14 | }

自分で試したこと

2度すべて書き直しました
ファイルやフォルダはすべて読みこまれていることを確認しています
初心者で他に何もできませんでした

補足情報

特にありません

回答 2件
login
回答するにはログインが必要です
はる@講師
12か月前

ご質問ありがとうございます。
おそらくライブラリのバージョンがチュートリアルと異なっているために、発生している現象かと思います。
チュートリアルにあるpackage.jsonの中身をコピーして、置き換えてみてください。
そして、npm installをすることで、チュートリアルのバージョンのライブラリがインストールされます。

abc
12か月前

動かすことができました
ありがとうございます