#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; Я перепутал метку с меткой