Задать вопрос
xXRustamXx
@xXRustamXx

Допускается ли такой подход что бы сделать textarea-autosize?

Это противоречит концепции React, но библиотеку/компонент который подстраивает высоту поля не хочу подключать из-за какой-то textarea, когда можно сделать это самому, пробовал через setState задавать 2 высоты, одну по дефолту, а другую динамическую, но тщетно:
  • Вопрос задан
  • 1317 просмотров
Подписаться 1 Средний 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
Теоретически – допускается. Нормально ли так писать – на мой взгляд, нет.
Я бы написал как-то так.

class Textarea extends React.Component {
  constructor(props) {
    super(props);
    
    this.state = {};
    this.onChange = this.onChange.bind(this);
  }

  onChange(e) {
    this.setState({
      height: e.target.scrollHeight
    });
  }
  
  render() {
    const { height } = this.state;

    return (
      <div>
        <textarea 
          name="text"
          style={{ height }}
          placeholder="Autoresize textarea"
          onChange={this.onChange}
        />
      </div>
    )
  }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽