javascript - 未执行操作(ADD_CONTACT)
问题描述
ADD_CONTACT 操作未执行。当我单击存在 ContactListComponent.js 的特定联系人时,我想显示由 ContactDetailComponent.js 完成的联系人详细信息。你能告诉我我在哪里犯错了吗?(当我点击 ContactListComponent.js 中的按钮时,联系方式没有显示出来)
这是显示所有联系人的组件(ContactListComponent.js)
import React, { Component } from 'react';
import { NavItem, Card, CardBody, Nav, Button } from 'reactstrap';
//import { withRouter } from 'react-router-dom';
import { connect } from 'react-redux';
import { addDetails } from '../redux/ActionCreators';
//import { Details } from '../redux/detail';
const mapDispatchToProps = (dispatch) => ({
addDetails: (contact) => dispatch(addDetails(contact))
});
// const mapStateToProps = state => {
// return {
// details: state.details.contact
// }
// }
function ContactList(props) {
if (props.isLoading) {
return (<span className="fa fa-spinner fa-pulse fa-fw"></span>);
}
else if (props.errMess) {
return (<div className="bg-danger"><p>{props.errMess}</p></div>);
}
else {
if (props.Contacts) {
const contactl = props.Contacts.map((contact) => {
return (
<NavItem key={contact._id} >
<Card >
<CardBody >
<Button onClick={() => addDetails(contact)}>{contact.username}</Button>
</CardBody>
</Card>
</NavItem>)
});
return (
<Nav vertical>
{contactl}
</Nav>
);
}
else {
return (
<div><p>No contacts present</p></div>
);
}
}
}
export default connect(null, mapDispatchToProps)(ContactList);
这是显示联系人详细信息的组件(ContactDetailComponent.js)。
import React from 'react';
import { } from 'reactstrap';
//import { withRouter } from 'react-router-dom';
import { connect } from 'react-redux';
const mapStateToProps = state => {
return {
details: state.details.contact
}
}
function ContactDetails(props) {
console.log(props.details);
if (props.details) {
return (
<div className="container">
<h3>username: </h3>
<p>{props.details.username}</p>
</div>
)
}
else {
return (<div></div>);
}
}
export default connect(mapStateToProps)(ContactDetails);
解决方案
您正在使用“addDetails”操作,但您必须使用具有“调度”机制的“addDetails”道具。只需更改props.addDetails的addDetails
推荐阅读
- azure - 连接 Azure CDN 规则变量
- excel - 提交登录表单只是刷新页面
- python - python - 交叉验证后如何使用“测试”数据集?
- python-3.x - 迭代字典列表时合并字典项目的问题
- python - 在python中找到最终的回归方程
- ios - 为什么这是“未知类型名称'MoodPrefetchOp';你的意思是'PrefetchOp'吗?” 显示?文件 h 和 m 都存在
- excel - 如何在 Excel 中将日期时间格式转换为 24 小时日期时间格式
- android - 旋转设备后不出现对话框片段
- c# - 导航堆栈在 onResume() 后被销毁?
- android - 无法使用正确的 google-services.json 文件在 android 上接收 FCM 推送通知