如何对道具进行分组并使代码更具可读性?

TMvytKA9LgSVZ8Z7

这是定义属性的唯一方法吗?

        <YAxis
            id="axis1"
            label="Requests"
            style={{ labelColor: scheme.requests }}
            labelOffset={-10}
            min={0}
            max={1000}
            format=",.0f"
            width="60"
            type="linear"
        />

如果有一长串的属性,这可能会很混乱。它使我想起了一些内联CSS,这可能变得很难阅读。

我们不能只是说:

var yAxis_props = ( id = ... label = ... )

然后像这样插入它们:

<YAxis yAxis_props />

玛雅·舒克拉(Mayank Shukla)

是的,可以将其定义yAxis_props为具有所有键值的对象。像这样:

var yAxis_props = {
  id: '',
  label: ''
}

然后使用传播运算符将所有值作为单独的prop传递,如下所示:

<YAxis
  {...yAxis_props}
/>

检查React Doc


好的,您对这两种方式感到困惑:

// first way
<Component id='', label='' />

// second way
const obj = { id:'', label: ''}
<Component {...obj} />

背后的场景都是一样的。检查这两种方式的Babel repl输出。我们写jsx,这将被转换成React.createElemet(component/html tag, props, children)

码:

function ComponentA () {
   return( <div>Hello</div> )
}

function ComponentB() {
   return (
        <div>
            <A id='a' label='b' />
            <A {...{id:'a', label:'b'}} />
        </div>
   )
}

转换形式:

function ComponentA() {
  return react("div", null, "Hello");
}

function ComponentB() {
  return react(
    "div",
    null,
    react(A, {
      id: "a",
      label: "b"
    }),
    react(A, {
      id: "a",
      label: "b"
    })
  );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使HTML代码更具可读性?

如何优化代码并使代码更具可读性

如何使Vim代码折叠颜色更具可读性

建议编写更具可读性的代码?

如何使x标签更具可读性?

如何使Excel公式更具可读性?

使文件更具可读性

使Java代码中的大量数字更具可读性

如何使我的go解析器代码更具可读性

我应该如何优化 Scala 代码并使其更具可读性

如何重构此代码以使其更具可读性和效率?

如何使Clojure中的reduce更具可读性?

如何使多行AutoHotKey脚本更具可读性?

如何使NetworkX图形可视化更具可读性?

Activemq:如何使transportConnector uri更具可读性?

VBA使Excel公式更具可读性

使很长的switch语句更具可读性

使基本密码功能更具可读性

在方法中显式使用类属性的命名空间使代码更具可读性?

C# 我可以使用分部类来使代码更具可读性吗

代码可重用性:如何将检查重构为更具可读性和可重用性,从而将职责分开?

将变量与 if 语句中的值列表进行比较的更具可读性的方法?

效率与代码的可读性?

访问对象字段的性能/代码可读性与进行复制

如何优化并做到这一点更具可读性

如何在Haskell中创建更具可读性的多行字符串?

如何使 Tidyverse 中的自定义函数更具可读性?

如何将MySQL返回的日期时间转换为更具可读性的字符串

如何在webpack(sourcemap)中使用更具可读性的bundle.js?