当前位置: 首页 > 面试题库 >

我可以在React Native中制作动态样式吗?

宋飞舟
2023-03-14
问题内容

说我有一个带有这样的渲染的组件:

<View style={jewelStyle}></View>

其中jewelStyle =

  {
    borderRadius: 10,
    backgroundColor: '#FFEFCC',
    width: 20,
    height: 20,
  },

如何使背景颜色动态并随机分配?我试过了

  {
    borderRadius: 10,
    backgroundColor: getRandomColor(),
    width: 20,
    height: 20,
  },

但这会使View的所有实例具有相同的颜色,我希望每个实例都是唯一的。

有小费吗?


问题答案:

我通常按​​照以下方式进行操作:

<View style={this.jewelStyle()} />

jewelStyle = function(options) {
   return {
     borderRadius: 12,
     background: randomColor(),
   }
 }

每次渲染View时,都会使用与之关联的随机颜色实例化一个新样式对象。当然,这意味着每次重新渲染组件时颜色都会改变,这也许不是您想要的。相反,您可以执行以下操作:

var myColor = randomColor()
<View style={jewelStyle(myColor)} />

jewelStyle = function(myColor) {
   return {
     borderRadius: 10,
     background: myColor,
   }
 }


 类似资料:
  • 问题内容: 我试图更改HTML表单,输入类型文件。这是我的代码: HTML,表格ID =表格 .CSS 这两种方法均无效。我确实从某些网站(如Facebook,YouTube,Google或Twitter)看到,它们具有不同的风格。想知道他们是如何做到的。 问题答案: 您不能对输入类型的文件执行任何操作(巨大的黑客攻击除外)。我知道这听起来很可怕,但是Web标准仍然没有提出解决方案。 但是我建议您

  • 问题内容: 是否可以动态更改全局样式表? 编辑:目的是允许用户选择他喜欢的样式。 在Angular 1中,我能够将控制器包装在head标签周围并在其中使用绑定。 下面的示例(简化代码): index.html AppController 在Angular 2中有可能吗? 问题答案: 我最终使用了Igor在这里提到的DOCUMENT令牌。 从那里,我可以将href换成样式。 HTML: TS:

  • 问题内容: 是否可以在减速器本身中调度动作?我有一个进度栏和一个音频元素。目标是在音频元素中的时间更新时更新进度条。但是我不知道在哪里放置ontimeupdate事件处理程序,或者如何在ontimeupdate的回调中分派操作以更新进度条。这是我的代码: 问题答案: 在减速器内调度动作是一种反模式 。减速器应该没有副作用,只需消化操作有效负载并返回新的状态对象即可。在Reducer中添加侦听器和调

  • 问题内容: 我可以在事务中运行动态sql并使用EXEC进行回滚: 将其放入事务中,并在exec语句后使用@@ error进行回滚。 例如。代码 如果存在n条动态sql语句并且错误发生在n / 2中,则将回滚前1到((n / 2)-1)条语句 有关第一个答案的问题 @@ Error最有可能不会拾取错误,这意味着它可能不会拾取错误,这意味着事务可能会提交?达不到目的 SQL Server 2005+中

  • 我得到了一个奇怪的差异,预览和实际运行我的jar文件与一个组合框,这似乎是默认的在我的两个笔记本电脑,这是完全不同的设计。我包括了一个简单的示例图像(如下)。组合框确实有36个条目,应该只允许一个选择-这就是为什么我更喜欢使用这个元素类型。我的问题是,与查看NetBeans预览设计时右侧图像中的典型和预期外观相比,组合框拇指(右侧图像)的外观很奇怪。参见图像 在互联网上搜索,我找不到太多显示这种差

  • 问题内容: 我需要在声明式管道中启动一组动态测试。为了更好的可视化目的,我想为每个测试创建一个阶段。有办法吗? 创建一个我知道的阶段的唯一方法是: 我已经看到了这个示例,但是我没有使用声明性语法。 问题答案: 使用声明性语法比声明性语法更具灵活性的脚本化语法,即使声明性文档和建议性更多。 例如,可以循环创建阶段: