Skip to content

Uncaught Error: could not find react-redux context value; please ensure the component is wrapped in a <Provider> #1631

@Mirzhal95

Description

@Mirzhal95

I wanted to integrate redux with my react project but faced Uncaught Error: could not find react-redux context value; please ensure the component is wrapped in a when used useSelector. I assume I have done everything right but I keep getting that error thus I need your help. Here is the code index.tsx

import React from "react";
import ReactDOM from "react-dom";
import App from "./components/App";
import { createStore } from "redux";
import { Provider } from "react-redux";
import rootReducer from "./store/rootReducer";
import { composeWithDevTools } from "redux-devtools-extension";

const store = createStore(rootReducer, composeWithDevTools());

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


rootReducer.ts

import { combineReducers } from "redux";
import portalReducer from "./portal";

const rootReducer = combineReducers({
  portal: portalReducer,
});

export default rootReducer;
portal.component.tsx

import * as THREE from "three";
import React, { useState } from "react";
import { useLoader } from "react-three-fiber";
import Dome from "../Dome/dome.component";
import { useSelector } from "react-redux";

function Portals() {
  const [which, set] = useState(0);
  const store = useSelector((state) => state.portal.portals);
  const { link, ...props } = store[which];
  const maps = useLoader(
    THREE.TextureLoader,
    store.map((entry) => entry.url)
  );
  return <Dome onClick={() => set(link)} {...props} texture={maps[which]} />;
}

export default Portals;
portalReducer

import picture1 from "../assets/picture1.jpg";
import picture3 from "../assets/picture3.jpg";
import picture5 from "../assets/picture5.jpg";

//Action types

//Action creators

//reducer
const initialState = {
  portals: [
    {
      name: "outside",
      color: "lightpink",
      position: [-400, 0, 300],
      url: picture1,
      hotSpotTitle: "Hall",
      hotSpotImage: picture5,
      link: 1,
    },

    {
      name: "inside",
      color: "lightblue",
      position: [-10, 0, 300],
      url: picture5,
      hotSpotTitle: "Yard",
      hotSpotImage: picture3,
      link: 2,
    },
    {
      name: "Hall",
      color: "red",
      position: [200, 0, 100],
      url: picture3,
      hotSpotTitle: "Hall",
      hotSpotImage: picture5,
      link: 1,
    },
  ],
};

const portalReducer = (state = initialState, action) => {
  return state;
};

export default portalReducer;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions