无法弄清楚如何在样式化组件和useState挂钩中使用props更改css

rchrdnsh

尝试通过样式按钮基于用户输入来更改a的grid-columnstyled.div我将grid-column值设置为样式组件中的props,如下所示:

const Highlight = styled.div`
  display: block;
  margin: -0.5rem;
  padding: 0;
  border: 1px solid #00fff3;
  border-radius: 16px;
  z-index: 2;
  background: hsla(177, 100%, 21%, 0.25);
  grid-row: 1 / 2;
  grid-column:
    ${props =>
        props.key === 'C' ? `1 / 9` :
        props.key === 'Db' ? `2 / 10` :
        props.key === 'Eb' ? `3 / 11` : 
        `1 / 9`
     };
`

道具的值处于状态,如下所示:

const [ key, setKey ] = useState()

...然后将道具放在样式化的组件上,如下所示:

<Highlight key={key}/>

...然后按以下任一按钮时,该道具的值就会更改:

<C onClick={() => setKey('C')}>C</C>
<D onClick={() => setKey('D')}>D</D>
<E onClick={() => setKey('E')}>E</E>
<F onClick={() => setKey('F')}>F</F>
<G onClick={() => setKey('G')}>G</G>
<A onClick={() => setKey('A')}>A</A>
<B onClick={() => setKey('B')}>B</B>
<DFlat onClick={() => setKey('Db')}>Db</DFlat>
<EFlat onClick={() => setKey('Eb')}>Eb</EFlat>
<GFlat onClick={() => setKey('Gb')}>F#/Gb</GFlat>
<AFlat onClick={() => setKey('Ab')}>Ab</AFlat>
<BFlat onClick={() => setKey('Bb')}>Bb</BFlat>

...但是它还不起作用,所以我没有做正确的事,或者我错过了一些事,但是我不知道我做错了什么。

阿格尼

key是ReactJS中的隐式道具。从文档:

密钥是React的提示,但不会传递给您的组件。如果在组件中需要相同的值,则将其作为道具以不同的名称显式传递

列表和键-文档

因此,要传递道具,您需要使用的其他名称,key并且您应该可以使用。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法弄清楚如何使用ImageViewTouch挂钩

来自分类Dev

无法弄清楚如何在异步请求中使用yield

来自分类Dev

无法弄清楚如何在C ++中使用winapi设置EM_SETLIMITTEXT的值

来自分类Dev

无法弄清楚如何在Jssor Slider中使用导航器

来自分类Dev

无法弄清楚如何在CachéSQL中使用MODULO / MODULUS函数

来自分类Dev

无法弄清楚,如何在选择选项时更改选择框颜色

来自分类Dev

无法弄清楚如何在地图中检索对象

来自分类Dev

无法弄清楚如何在 xubuntu 和 USB 之间共享文件

来自分类Dev

无法弄清楚如何使用jQuery更改字体颜色(尝试构建简单的菜单)

来自分类Dev

很难弄清楚如何在 Java 的 for 循环中使用用户输入

来自分类Dev

无法弄清楚如何使用Soundcloud API测试代理

来自分类Dev

无法弄清楚如何使用getchar(); 在C

来自分类Dev

无法弄清楚如何使用getchar(); 在C中

来自分类Dev

无法弄清楚如何为我的函数使用参数

来自分类Dev

JAXB-无法弄清楚如何正确使用refID

来自分类Dev

无法弄清楚如何使用$ scope。$ watch

来自分类Dev

无法弄清楚如何使用西班牙口音

来自分类Dev

无法弄清楚如何使用lighttpd接收HTTP请求

来自分类Dev

无法弄清楚如何使用 OfficeExtension.Promise

来自分类Dev

我无法弄清楚如何在我的应用程序中正确使用notifyDataSetChanged

来自分类Dev

无法弄清楚htaccess如何使用URL和Parameters字符串?

来自分类Dev

无法弄清楚如何一起使用ACTION_VIEW和Storage Access Framework

来自分类Dev

无法弄清楚如何使用浮点数和固定位置

来自分类Dev

无法弄清楚如何使用Python 3.3.3和Windows 7 64bit安装numpy

来自分类Dev

无法弄清楚如何<s:select>

来自分类Dev

无法弄清楚如何收税

来自分类Dev

无法弄清楚如何捕获InputMismatchException

来自分类Dev

无法弄清楚如何打印toString

来自分类Dev

iOS限制-无法弄清楚如何

Related 相关文章

  1. 1

    无法弄清楚如何使用ImageViewTouch挂钩

  2. 2

    无法弄清楚如何在异步请求中使用yield

  3. 3

    无法弄清楚如何在C ++中使用winapi设置EM_SETLIMITTEXT的值

  4. 4

    无法弄清楚如何在Jssor Slider中使用导航器

  5. 5

    无法弄清楚如何在CachéSQL中使用MODULO / MODULUS函数

  6. 6

    无法弄清楚,如何在选择选项时更改选择框颜色

  7. 7

    无法弄清楚如何在地图中检索对象

  8. 8

    无法弄清楚如何在 xubuntu 和 USB 之间共享文件

  9. 9

    无法弄清楚如何使用jQuery更改字体颜色(尝试构建简单的菜单)

  10. 10

    很难弄清楚如何在 Java 的 for 循环中使用用户输入

  11. 11

    无法弄清楚如何使用Soundcloud API测试代理

  12. 12

    无法弄清楚如何使用getchar(); 在C

  13. 13

    无法弄清楚如何使用getchar(); 在C中

  14. 14

    无法弄清楚如何为我的函数使用参数

  15. 15

    JAXB-无法弄清楚如何正确使用refID

  16. 16

    无法弄清楚如何使用$ scope。$ watch

  17. 17

    无法弄清楚如何使用西班牙口音

  18. 18

    无法弄清楚如何使用lighttpd接收HTTP请求

  19. 19

    无法弄清楚如何使用 OfficeExtension.Promise

  20. 20

    我无法弄清楚如何在我的应用程序中正确使用notifyDataSetChanged

  21. 21

    无法弄清楚htaccess如何使用URL和Parameters字符串?

  22. 22

    无法弄清楚如何一起使用ACTION_VIEW和Storage Access Framework

  23. 23

    无法弄清楚如何使用浮点数和固定位置

  24. 24

    无法弄清楚如何使用Python 3.3.3和Windows 7 64bit安装numpy

  25. 25

    无法弄清楚如何<s:select>

  26. 26

    无法弄清楚如何收税

  27. 27

    无法弄清楚如何捕获InputMismatchException

  28. 28

    无法弄清楚如何打印toString

  29. 29

    iOS限制-无法弄清楚如何

热门标签

归档