【发布时间】:2020-10-17 17:20:48
【问题描述】:
这是我的功能组件。工作正常
import React from "react";
function RecommendationCard(props) {
const { name, designation, company, message } = props.recommendation;
return (
<div className="col-12 col-md-4">
<div className="card shadow h-100">
<div className="card-body">
<h4 className="card-text">{message}</h4>
<p className="card-text text-secondary mb-0">{name}</p>
<p className="card-text text-secondary">
{designation} at {company}
</p>
</div>
</div>
</div>
);
}
export default RecommendationCard;
下面的代码是转换后的状态组件。这里没有使用 props ,我使用了我的 context.js 文件中的数据,比如状态。它包含名称,公司,名称,推荐等所有数据。所以我通过消费者使用它。但这并没有显示属性。
import React, { Component } from 'react';
import { Consumer } from '../context';
class RecommendationCardextends Component {
state = {
name:"",
message:"",
designation:"",
company:"",
}
render() {
return(
<Consumer>
{(value) =>{
const { name, designation, company,message } = this.state;
return (
<div className="col-12 col-md-4">
<div className="card shadow h-100">
<div className="card-body">
<h4 className="card-text">{message}</h4>
<p className="card-text text-secondary mb-0">{name}</p>
<p className="card-text text-secondary">
{designation} at {company}
</p>
</div>
</div>
</div>
);
}}
</Consumer>
);
}
}
export default RecommendationCard;
我请求您解决这个问题并帮助我解决这个问题。提前谢谢你。
【问题讨论】:
-
就像你说的,
Context保存了你所有的数据,但是你从this.state解构它,这是你组件的本地状态。
标签: javascript reactjs components state