首页 > 解决方案 > 如何从循环生成文本到html?

问题描述

我想将我的 HTML 从数组显示到 WebView:

<WebView source={{  html:       '<b>'+this.state.data.myArray[0].name+'</b>' + this.state.data.myArray[0].surname }} />

但我在数组中有 50 个元素,我正在尝试使用如下循环来生成它:

for (let i = 0; i < this.state.data.myArray.length; i++) {
    '<b>' + this.state.data.myArray[i].name + '</b>' +
        this.state.data.myArray[i].surname
}

标签: javascripthtmlreact-native

解决方案


您可以像这样创建函数以在渲染方法中设置它

render(){
var string = '';
  for (let i=0; i < this.state.data.myArray.length; i++){
        string = string +'<b>'+{this.state.data.myArray[i].name}+'</b>' +
        {this.state.data.myArray[i].surname}
    }
 return (
<WebView
                source={{
                    html:string
                }}
            />
 )
}

或者如果你想创建 50 个不同的 WebView 使用地图

 render(){
     return (
     {this..state.data.myArray.map((data)=><WebView
                    source={{
                        html:'<b>'+{data.name}+'</b>'+{data.surname}
                    }}
                />)}

     )
    }

推荐阅读