Реагировать, изменить const на компонент с реквизитом
Реагировать,
Здравствуйте, мне нужно изменить const для компонента с реквизитом.
Как мне это сделать?
const renderFieldOne = ({ input, label, type, meta: { touched, error, warning } }) => (
<div>
<div className ="group">
<input className="text"
{...input}
type={type}/>
<label>{label}</label>
<span className="highlight"></span>
<span className="bar"></span>
{touched && ((error && <span>{error}</span>) || (warning && <span>{warning}</span>))}
</div>
</div>
)
1 ответ
Решение
Вам нужно будет передать каждую опору индивидуально для каждой функции, которую вам нужно было вызвать
<renderFieldOne
input={renderFieldOneInputValue}
label={renderFieldOneLabelValue}
type={renderFieldOneTypeValue}
meta={touched}
/>
а затем в компоненте renderFieldOne вы можете сделать
const renderFieldOne = ({input, label, type }) => {...}
при деструктурировании он назначит соответствующие имена / значения свойств переданным переменным, используйте это как ссылку https://amido.com/blog/using-es6-destructuring-in-your-react-components/. Имена должны совпадать со свойствами
или просто сделать
const renderFieldOne = (props) => {...}
and in each place call props.input or whatever prop you are trying to access.