Не удалось передать prop в dict в react

#reactjs #dictionary #gatsby #react-props

Вопрос:

Я пытаюсь изменить цвет div в react с помощью диктанта.

 import * as React from 'react'  import {  container } from './zoneButton.module.css'  const ZoneButton = ({ colour }) =gt; {   const colourPrimaryDict = {  'pink': 'var(--pastel-pink-primary)'  }  const colourSecondaryDict = {  'pink': 'var(--pastel-pink-secondary)'  }   return (  lt;div className={container} style={{  backgroundColor: colourPrimaryDict[{ colour }],  color: colourSecondaryDict[{ colour }]  }}gt;  { colour }  lt;/divgt;  ) }  export default ZoneButton  

Когда я ввожу «розовый» в диктант, цвет div меняется, однако, когда я пытаюсь пройти через опору { color}, которой присвоена строка «розовый», диктант не возвращает запрошенный цвет.

 lt;ZoneButton colour={'pink'}/gt;  

Если это плохой способ делать что-то, есть ли лучший способ?

Ответ №1:

Синтаксис для динамической попытки доступа к свойству объекта немного отличается:

 import * as React from 'react'  import {  container } from './zoneButton.module.css'  const ZoneButton = ({ colour }) =gt; {   const colourPrimaryDict = {  'pink': 'var(--pastel-pink-primary)'  }  const colourSecondaryDict = {  'pink': 'var(--pastel-pink-secondary)'  }   return (  lt;div className={container} style={{  backgroundColor: colourPrimaryDict[colour],  color: colourSecondaryDict[colour]  }}gt;  { colour }  lt;/divgt;  ) }  export default ZoneButton  

Надеюсь, это поможет!