首页 > 解决方案 > 如何调用具有大量动态变量的 mapStateToProps 路径(React-Redux)

问题描述

不确定正确的语法是什么,但我试图获取在 state 中找到的courseTitle变量的值(字符串),如下所示(当输入 console.log(state) 时:

状态
|_____火库
|______________ 数据
|_____________________“用户 ID”
|________________________“课程 ID”
|______________________________ 课程标题

“userID”和“courseID”是动态变量,其值根据登录的用户和用户选择的课程而变化。courseTitle是一个包含课程标题的变量,是通过 mapStateToProps 读取的内容。

标签: dynamicreact-reduxstatemapstatetoprops

解决方案


注意:解决方案
在编写问题时,我能够测试一些东西并最终找到解决方案。但是,我认为在这里分享我的代码可能会帮助未来遇到类似问题的程序员。

const mapStateToProps = (state, ownProps) => {

    const UID = state.firebase.auth.uid;                 <------THIS IS WHAT THE DYNAMIC "userID" is.
    const courseID = state.CreateContent.selectedCourse; <------THIS IS WHAT THE DYNAMIC "courseID" is.

    const courses = state.firestore.data[UID];
    const course = courses ? courses[courseID] : null;
    const courseTitle = course ? course.courseTitle : null;
    console.log('Title: ' + courseTitle);                 <------ THIS DISPLAYS THE CORRECT courseTitle.

    return {

        courseTitle: courseTitle,

    }
}


推荐阅读