7

Am getting "TypeError: Cannot read properties of null (reading 'useMemo') error Redux in my react redux application. I made a very simple react redux application. but am keep getting this error. searched about this error on Internet unfortunately didn't get any solution.

Redux folder structure:

src >> state(folder) >> store.js
reducer.js

reducer.js


const initialState={
    user:[]
}


export const userReducer=(state=initialState,action)=>{
    switch (action.type) {
        case "TEST_DATA":
                return state
        default:
            return state
    }
 
}

store.js

import {createStore,applyMiddleware} from "redux"
import {userReducer} from './reducer'
import {composeWithDevTools} from 'redux-devtools-extension'
import thunk from 'redux-thunk'


export const store=createStore(userReducer,composeWithDevTools(applyMiddleware(thunk)))

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import { Provider } from 'react-redux';
import {store} from './state/store'


ReactDOM.render(
<Provider store={store}>
  <App />
</Provider>
  ,
  document.getElementById('root')
);

Tried to access state in App.jsx component

console.log(useSelector(state=>state))

am trying to fix it from last 3-4 days. Please help me am new to react and redux. Thanks in advance

Keerthan Achar
  • 79
  • 1
  • 1
  • 6

4 Answers4

9

Following steps fixed the issue for me

  1. Check your react version in package.json
  2. If the react version is 18, then update "react-redux" package using npm i react-redux
  3. the "react-redux" package should have version 8 in package.json
  4. run npm start

Snippet from package.json file:

"react": "^18.1.0",
"react-dom": "^18.1.0",
"react-redux": "^8.0.1",
0

Simply do one thing install all these one more time and you will get free from this error. i.e npm i redux react-redux redux-thunk

  • This does not provide an answer to the question. Once you have sufficient [reputation](https://stackoverflow.com/help/whats-reputation) you will be able to [comment on any post](https://stackoverflow.com/help/privileges/comment); instead, [provide answers that don't require clarification from the asker](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). - [From Review](/review/late-answers/34471850) – 0xe1λ7r Jun 06 '23 at 05:57
0

If anyone runs into this error with Next.js v13+ using the App directory (AKA App Router) then it could be because you're trying to use useMemo in a server component.

nmajor
  • 497
  • 4
  • 10
-1

Mine was a simple mistake from the import. React was capitalized.

// import { useMemo } from "React";
import { useMemo } from "react";