我可以在React Native应用中以编程方式更改样式吗?

时间:2019-03-20 04:10:50

标签: reactjs react-native native

我很好奇是否可以在基于API命中结果的变量的本机反应中设置样式?

例如

let textColor = 'fake-api-getcolor'

<text style={{color: textColor}}>Hello</text>

然后将那个API端点连接到后端CMS,在这里我将允许用户选择一种颜色。

由于应用程序的构建/编译过程,我不确定这是否可能?

4 个答案:

答案 0 :(得分:2)

是的,有可能。

您只需将其视为任何普通对象,然后将其用于您的值或样式即可。有关完整说明,请参见here

答案 1 :(得分:1)

如果您要获取该值,然后在每次后端更改时都设置变量,则完全有可能。我的意思是,是的,您可以在样式中计算值。

答案 2 :(得分:1)

您可以使用状态来实现

class AppComponent extends React.Component {

  state = {
    textColor: "red"
  }


  async changeColor() {
    const color = "blue" //Here you can fetch color from your api then call setState like below
    this.setState({
      textColor: color
    })
  }


  render() {
    const {
      textColor
    } = this.state;
    return <text style={{color: textColor}}>Hello</text>
  }

}

答案 3 :(得分:0)

在setState中动态设置颜色

this.state = {
    backgroundColor: 'blue'
}