ReactJs:简单渲染表不工作
我试图从通过ajax调用获得的数据中呈现一个表。代码如下:ReactJs:简单渲染表不工作,reactjs,react-jsx,Reactjs,React Jsx,我试图从通过ajax调用获得的数据中呈现一个表。代码如下: 让tableResult=null; 设tableRows=null; if(this.state.searchResult===‘找到记录’){ tableRows=this.state.transactionsData.content.map((项目,索引)=>{ let date=新日期(项目付款日期); 返回( {date} {item.transactionReference} {item.merchantCustomerId
让tableResult=null;
设tableRows=null;
if(this.state.searchResult===‘找到记录’){
tableRows=this.state.transactionsData.content.map((项目,索引)=>{
let date=新日期(项目付款日期);
返回(
{date}
{item.transactionReference}
{item.merchantCustomerId}
{item.amount}
{item.status}
);
});
tableResult=(
付款日期
商户参考
客户Id
数量
地位
{tableRows}
);
}
然后,表被呈现为:
{tableResult}
我得到的错误是“无法读取null的属性'content'”,但我打印了该行之前的状态。值已设置请检查{date}语句。在内容集合的循环中,将date=设置为新的javascript日期。然后在返回中,将一个td值设置为该日期 React无法呈现日期对象。您需要将其设置为字符串或有效的react组件
tableRows = this.state.transactionsData.content.map((item, index) => {
**let date = new Date(item.dateOfPayment);**
return (
<tr key={item.id}>
**<td>{date.toString()}</td>**
<td>{item.transactionReference}</td>
<td>{item.merchantCustomerId}</td>
<td>{item.amount}</td>
<td>{item.status}</td>
</tr>
);
});
tableRows=this.state.transactionsData.content.map((项目,索引)=>{
**let date=新日期(项目付款日期)**
返回(
**{date.toString()}**
{item.transactionReference}
{item.merchantCustomerId}
{item.amount}
{item.status}
);
});
所有浏览器都应该支持
也许更好。取决于您是否要格式化。您在哪里设置状态?(特别是TransactionData)在ajax调用中。当有响应时,我调用“setState()。这将调用渲染函数(我已选中),并正确设置数据(也已选中)。当我设置制动点并单步执行代码时,如果我单步执行错误,则会执行错误行:“对象作为React子对象无效(找到:无效日期)。如果要呈现子对象集合,请改用数组或使用createFragment(对象)包装对象”从React附加组件。检查
SubTransactions
“的呈现方法。ajax是异步的。React可能是在ajax请求完成之前调用组件的render
函数(这意味着此时您的状态没有按照您想要的方式设置)。组件中是否有初始状态(即:是否在组件的构造函数上设置this.state=…
)?该死。非常感谢兄弟。有趣的是没有任何警告。tableResult对象甚至看起来像react对象。但被判无效