Как передать все остальные атрибуты в props — ReactJS

#reactjs #react-component

Вопрос:

 const Label = (props) =gt; {  return lt;label className={"card-label"} {...props.attributes}gt;{props.children}lt;/labelgt;; };  

Если я попытаюсь получить доступ к атрибутам в других функциях. Я получаю ошибки и не могу продолжить

 lt;Label attributes={style:{margin:"10px"}}gt;Select Tip %lt;/Labelgt;  

Кто-нибудь знает ответ? Как передать все остальные атрибуты любого компонента с реквизитами?

Комментарии:

1. Как правило, когда вы видите ошибки, стоит включить сообщение об ошибке в вопрос.

2. @DBS — Я забыл добавить сообщение об ошибке. В следующий раз я обязательно добавлю сообщение об ошибке.

Ответ №1:

Я предполагаю, что у вас проблема с синтаксисом передачи реквизитов компоненту метки .Попробуйте с этим

 const Label = (props) =gt; {  return lt;label className={"card-label"} {...props.attributes}gt;{props.children}lt;/labelgt;;  };   return lt;Label attributes={{style:{margin:"50px"}}}gt;Select Tip %lt;/Labelgt;;  

Комментарии:

1. Спасибо за приведенный выше код. Я нашел ошибку.

2. @SambenJerald, Но почему вы приняли другой ответ (который, кстати, неверен).

Ответ №2:

Вы должны поместить значение своих атрибутов в атрибут prop в качестве объекта:

 return lt;Label className={"card-label"} attributes={{style:{}}}gt;Select Tip %lt;/Labelgt;;   

Более читаемый способ-напрямую извлекать атрибуты из реквизитов:

 const Label = ({ attributes, children }) =gt; {  return lt;label className={"card-label"} {...attributes}gt;{children}lt;/labelgt;; };  

Комментарии:

1. как передать все остальные атрибуты,например стиль, htmlfor в качестве единой опоры для функционального компонента

2. Что это должно делать: lt;label attributes={props.attributes} /gt; ?

3. Это должно быть lt;метка {…реквизит.атрибут} /gt; и lt;метка {…реквизит.атрибут} /gt;lt;Атрибуты метки={{…атрибуты}} /gt; Я перепутал метку с меткой