Как изменить значение ввода на индекс?

Я хочу, чтобы моя функция handleChangeEvent изменила значение ввода на индекс. Как это сделать в React?

class App extends Component {
  state = {
    equation: ""
  };

  handleChangeEvent = event => {
    this.setState({ [event.target.name]: event.target.value });
  };

  render() {
    const { equation } = this.state;
    console.info(equation);
    return (
      <div>
        <input onChange = {this.handleChangeEvent} value = {equation} name = "equation" />
      </div>
    );
  }
}

@ZohirSalak немного почитал, они выполняют деструктурирование в верхней части метода рендеринга, поэтому вам не нужно вводить this.state для каждой ссылки на equation. Кроме того, метод handleChangeEvent хорош, он использует вычисляемое свойство, так что он становится методом многократного использования вместо жестко заданных имен. Теперь они могут добавить 100 различных (или больше/меньше) входных данных и использовать один и тот же метод для их обработки.

Sterling Archer 24.04.2019 20:24

Вам нужно будет найти или написать метод, который преобразует буквы в подстрочные html-объекты (достаточно простой карты). В нынешнем виде методы sub и sup (которые возвращают строку, обернутую в уважаемые теги) устарели, и я не могу найти современный стандарт для этого

Sterling Archer 24.04.2019 20:26

Извините меня дезинформировали. Методы String .sub и .sup устарели, а не теги HTML. Так что просто используйте теги, и все будет хорошо (если ввод может это отобразить)

Sterling Archer 24.04.2019 20:30

Я пытался использовать подтеги во входных данных, и, похоже, это не сработало. Идея с функцией кажется лучше

kenodek 24.04.2019 20:33

Похоже, что это единственный способ «рендеринга» html внутри входного тега (stackoverflow.com/questions/5823835/…), поэтому вложенный тег здесь может не помочь, похоже, что вместо этого вам нужны буквы нижнего индекса.

Sterling Archer 24.04.2019 20:36

На самом деле мне нужны только цифры, чтобы быть индексом, и похоже, что есть только объекты верхнего индекса :)

kenodek 24.04.2019 20:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
6
171
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Regex выберите + захватите цифровые символы и замените их соответствующим html-объектом нижнего индекса:

  handleChangeEvent = event => {
    const formattedValue = event.target.value.replace(/(\d)/g, '&#832$1;');
    this.setState({ [event.target.name]: formattedValue });
  };

Другие вопросы по теме