【发布时间】:2022-10-08 03:14:41
【问题描述】:
我正在研究 redux,我设法在我的应用程序中调用了减速器的状态。 但是,共享状态内部有几个同名的对象,直到我到达我想要的数组,这是一条非常奇怪的路径:course.course.course.modules?.map我不明白为什么,我也不知道如何解决它。
减速机 ->
course.js
const INITIAL_STATE = {
modules: [
{
id: 1,
title: "Iniciando com react",
lessons: [
{ id: 1, title: "video01" },
{ id: 2, title: "video02" },
{ id: 3, title: "video03" },
{ id: 4, title: "video04" }
]
},
{
id: 2,
title: "Aprendendo react",
lessons: [
{ id: 1, title: "video01" },
{ id: 2, title: "video02" },
{ id: 3, title: "video03" },
{ id: 4, title: "video04" }
]
}
]
};
export const course = (state = INITIAL_STATE, action) => state;
index.js
import { combineReducers } from 'redux';
import { course } from './course';
export const Reducers = combineReducers({
course
});
商店 -> index.js
import { createStore } from 'redux';
import { Reducers } from '../reducers';
export const Store = createStore(Reducers);
组件 ->
视频边栏
import React, { useEffect, useState } from 'react';
import { connect } from 'react-redux';
function VideoSideBar(course) {
console.log(course);
return (
<aside>
{
course.course.course.modules?.map(module => (
<div key={module.id}>
<strong>{module.title}</strong>
<ul>
{
module.lessons?.map(leassons => (
<li key={leassons.id}>{leassons.title}</li>
))
}
</ul>
</div>
))
}
</aside>
);
}
export default connect(state => ({ course: state }))(VideoSideBar);
【问题讨论】:
标签: react-redux