我使用react-timeago包,我只需要通过props从父组件获取数据,当我将数据放在TimeAgo的日期prop中时,我什么也得不到。
props.date没有在TimeAgo中获取数据组件,我已经尝试了this.props.date但是徒劳无功。下面的代码位于同一个组件
中// this returns for ex 'Published 2 days ago'
<div>Published {props.date}</div>
// this returns only 'Published'
<div>Published <TimeAgo date={props.date} formatter={formatter}/></div>
您的props.date
返回一个不能直接转换为日期对象或日期字符串的文字字符串,首先您需要将其转换为标准格式,然后将其传递给props
。在return
块前添加此代码。
var calDate = stringToDate()
function stringToDate(){
let cDate = new Date();
cDate.setDate(cDate.getDate() - parseInt(props.date)); //Get the integer part of X days ago, e.g return the integer 2 from 2 days ago and then subtract 2 days from current date.
//console.log(calDate.toString());
return cDate
}
将传递给prop的值更新为上面计算的值
// this returns for ex 'Published 2 days ago'
<div>Published {props.date}</div>
// this returns only 'Published'
<div>Published <TimeAgo date={calDate} formatter={formatter}/></div>