我尝试了一种嵌套方法,该方法可以在控制台日志中显示,但无法在react的Tsx主页中显示。
数据结构如下
this.array.map(this.array.map(i => console.log(i.title, i.url)));
main.tsx
public render(): React.ReactElement<IAProps> {
let render;
if (this.props.lists) {
render = this.props.lists.map(
this.props.lists.map(i => (
<li>
<a href={i.url} target="_blank">
{i.title}
</a>
</li>
))
);
}
return(
{render}
)
}
我明白了 sp-webpart-workbench-assembly_zh-cn_3a7c7940cb718e67c2b0e6edfd5b40ff.js:21未捕获的TypeError:[对象数组]不是函数
答案 0 :(得分:1)
基于给定的数据,您不需要嵌套的map函数。您可以使用单个地图来实现。
示例:
(?<=/)[^/\d]+(?=[^/]*$)
但是出于某种原因,如果您想要嵌套的public render(): React.ReactElement<IAProps> {
let render;
if (this.props.lists) {
this.props.lists.map(i => (
<li>
<a href={i.url} target="_blank">
{i.title}
</a>
</li>
))
}
return(
{render}
)
}
,则必须在第一个map
函数的map
内部调用嵌套的map
。
callback
答案 1 :(得分:0)
外部映射调用需要一个函数,而您要向其传递内部映射的结果,该内部映射返回一个数组,而不是一个函数。