Парни, возможно задам максимально нубский вопрос или даже слишком всрато, но всё что попробовал сделать - выходит не то.
Есть компонент Textare.
Я передаю в этот компонент данные с сервера по дэфолту, указывая
<Textarea title={'Описание'}
placeholder={'Описание '}
defaultValue={description}
ref={register({required: true})}
name="description"
errors={errors}
/>
Всё круто, текст отображается...
Выделяю этот текст и удаляю. Он удаляется. Но placeholder не отображается.
Если укажу в самом компоненте
const [value, setValue] = useState(props.defaultValue || props.value || ' ' );
const handleChange = e => {
setValue(e.target.value);
props.onChange && props.onChange();
};
<textarea {...props}
disabled={props.disabled}
value={value}
defaultValue={value}
placeholder={props.placeholder || props.title}
onChange={handleChange}
style={inputStyle}
ref={ref}
/>
Всё удаляется нормально, placeholder появляется - идеально и все как надо, НО!
В консоли выходит сообщение:
Warning: ForwardRef contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props.
Использую также react-hook-form, мб кроме меня самого и в нем проблема?