#javascript #reactjs #redux #redux-toolkit
Вопрос:
Я изучаю redux-инструментарий и написал пример кода, но при использовании метода useDisptach я получаю ошибку «Невозможно прочитать свойства неопределенного (чтение типа»)». Как вы думаете, в чем причина этого? Я делюсь кодом ниже:
мой index.js файл:
import Head from "next/head"; import Nav from "../components/nav/Nav"; import { useEffect } from "react"; import { useSelector, useDispatch } from "react-redux"; import detectDevice from "../redux/device"; export default function Home() { const dispatch = useDispatch(); useEffect(() =gt; { dispatch(detectDevice()); }, []); return ( lt;divgt; lt;Headgt; lt;titlegt;Testlt;/titlegt; lt;meta name="description" content="Generated by create next app" /gt; lt;link rel="icon" href="/favicon.ico" /gt; lt;/Headgt; lt;Nav /gt; lt;/divgt; ); }
мой device.js файл:
import { createSlice } from "@reduxjs/toolkit"; export const deviceSlice = createSlice({ name: "isMobile", initialState: { value: false, }, reducers: { detectDevice: (state) =gt; { state.value = true; }, }, }); export const { detectDevice } = deviceSlice.actions; export default deviceSlice.reducer;
мой store.js файл :
import { configureStore } from "@reduxjs/toolkit"; import detectDevice from "./device"; export default configureStore({ reducer: { isMobile: detectDevice, }, });
Ответ №1:
Я понял, где совершил ошибку. Импорт в строке 5 в index.js файл должен был быть таким: импорт { detectDevice } из «../redux/устройство»;