动态React Native图标

时间:2019-10-12 08:50:11

标签: react-native

我正在使用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'}}/>

出现未定义的图标

3 个答案:

答案 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'}}/>