javascript - 反应:TypeError:调度不是一个函数
问题描述
我想从 redux 中获取。我正在关注本教程:https ://codesandbox.io/s/react-redux-application-hewdb?file=/src/pages/PostsPage.js
但是当我在我的代码中使用它时:
import React, { useState, useEffect } from 'react';
import { connect } from 'react-redux';
import {fetchInterview} from '../actions/interviewActions'
const DetailInterview = (props, { dispatch, loading, interviews, hasErrors }) => {
console.log("test interview",interviews)
useEffect(() => {
const { match: { params: { id } } } = props;
dispatch(fetchInterview(id))
}, [dispatch])
const interviewslist = interviews
console.log('interview: ', interviews)
return (
<div>
<h3>All participants</h3>
<table>
<thead>
<tr>
<th>ID</th>
<th>Interview id</th>
<th>Partcipants id</th>
<th>Time</th>
</tr>
</thead>
<tbody>
{
console.log('interviews:sad ', interviews)
}
{
interviews? interviews.map((interview) => {
console.log('sadassad',interview)
console.log('sadaghahhgsghssad',interviews)
return (
<tr key={interview.id}>
<td>{interview.id}</td>
<td>{interview.interview_id}</td>
<td>
{/* <Link to={`/posts/${post.id}`}> */}
{interview.participant_id}
{/* </Link> */}
</td>
<td>{interview.created_at}</td>
</tr>
)
}) : null
}
</tbody>
</table>
</div>
);
}
// export default DetailInterview;
const mapStateToProps = state => ({
loading: state.interview.loading,
interviews: state.interview.interview,
hasErrors: state.interview.hasErrors,
})
export default connect(mapStateToProps)(DetailInterview)
我收到一个错误:未捕获的类型错误:调度不是函数
无法理解这背后的错误是什么。
解决方案
您正在从 DetailInterview 的第二个参数中解构值,而您应该从道具中执行此操作,因为 mapStateToProps 中的值和 connect 可用作连接组件的道具
const DetailInterview = (props) => {
const { dispatch, loading, interviews, hasErrors } = props;
...
}
推荐阅读
- jsf - 如何部分拆分 Primefaces 数据表的每一行?
- c - 当程序有大量输出时,带有 cmd.exe 的 CreateProcess 挂起
- unity3d - GameObject.Find 不使用字符串 var
- c - 如何在 C 中找到孙 pid?
- c - 如何摆脱分段错误?
- usrp - 在雷达应用中使用 Ettus USRP
- python - 以秒为单位的转换时间戳值不会反转为 python 中的原始时间戳
- java - 如何在 Java FX 的公共类 Controller 中向另一个按钮添加功能?
- javascript - 如何将选项中的额外键传递给 react-dropdown 并从 onChange 道具中取回它们?
- reactjs - 如何触发事件 React 测试库