由于某些原因,将变量“ row”分配为空时,引发以下错误:
空白文本节点不能作为的子级出现。确保源代码每一行的标记之间没有多余的空格
render(){
if(typeof(this.props.settings) ==="undefined"||Object.keys(this.props.settings).length==0)
{
//We haven't asked for Admins yet, so they don't exist.
row ='';
}
else {
...
row = nameArray.map((data,index) =>
<tr key={index}><td>{data}</td>
<td>{idArray[index]}</td>
<td><div className="link_decoration" onClick={()=>this.props.removeRequest(idArray[index])}>Remove</div></td>
</tr>
);
}
return(
<div>
<table>
<tbody><tr><th>Name</th><th>SSO</th><th></th></tr>{row}</tbody></table>
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
我可以通过创建占位符而不是设置row =''来解决错误:
nameArray.push("PlaceHolder");
idArray.push("12345");
row = nameArray.map((data,index) =>
<tr key={index}><td>{data}</td>
<td>{idArray[index]}</td>
<td><div className="link_decoration" onClick={()=>this.props.removeRequest(idArray[index])}>Remove</div></td>
</tr>
);
}
Run Code Online (Sandbox Code Playgroud)
但一定有更好的方法...
你可以用解决
<tbody><tr><th>Name</th><th>SSO</th><th></th></tr>{row.length > 0 ? row :null }</tbody></table>
Run Code Online (Sandbox Code Playgroud)
从此处可以找到有关渲染及其返回类型的更多详细信息
另外,最好缩进您的代码。
| 归档时间: |
|
| 查看次数: |
3728 次 |
| 最近记录: |