我正在使用react-native-vector-icons/FontAwesome
以下代码有效:
<Icon name='{this.state.icon}' size={40} style={{paddingRight:20,color: '#61D379'}}/>
我想从API获得图标名称,但它必须是动态的。
我在控制台this.state.icon
控制台上说check-circle
但是当我放上
<Icon name='{this.state.icon}' size={40} style={{paddingRight:20,color: '#61D379'}}/>
出现未定义的图标
答案 0 :(得分:0)
我认为您在此处未正确发送姓名
<Icon name='{this.state.icon}' size={40} style={{paddingRight:20,color: '#61D379'}}/>
将此更改为
<Icon name={this.state.icon} size={40} style={{paddingRight:20,color: '#61D379'}}/>
答案 1 :(得分:0)
使用图标之前,应先检查图标是否存在。原因是因为您正在从api获取名称,所以第一个渲染可能会运行,并且在此期间this.state.icon
尚不可用且未定义,因此您会收到错误
<Icon name={this.state.icon ? this.state.icon : "defult-icon-name-here"} size={40} style={{paddingRight:20,color: '#61D379'}}/>
答案 2 :(得分:0)
删除名字中的引号。希望对您有帮助。
<Icon name={this.state.icon} size={40} style={{paddingRight:20,color: '#61D379'}}/>