Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ReactJs:简单渲染表不工作_Reactjs_React Jsx - Fatal编程技术网

ReactJs:简单渲染表不工作

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

我试图从通过ajax调用获得的数据中呈现一个表。代码如下:

让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对象。但被判无效