Передача свойства в компонент React

Мне нужна помощь в решении интересного варианта использования, над которым я работаю прямо сейчас.

В компоненте я визуализирую другой компонент, который передается как опора, он отлично работает. Но теперь мне нужно отправить опору этому компоненту, поскольку у меня нет JSX, я не знаю, как передать опору, следует ли использовать привязку? Другой компонент - это обычный класс es6, наследующий от React.Component.

это код:

switch (inputType) {
  case 'textarea': return (
    <div className = {this.styles.txtArea}>
      <textarea
        className = "input" onChange = {this.onInputChanged}
        value = {this.node.value ? this.node.value : ''}
      />
      {
        this.state.validationError
        ? <p className = {this.styles.error}>{errorText || defaultErrorMsg}</p>
        : null
      }
    </div>);
  // case 'select': return (
  //   <select className = {this.styles.select} onChange = {this.onInputChanged}>
  //     {this.state.currField.input.options.map((option, index) =>
  //       <option value = {option.value} key = {index}>{option.name}</option>)}
  //   </select>);
  case 'select': return this.props.valueSelector;

Итак, в основном мне нужно передать опору в valueSelector, как мне это сделать?

И valueSelector, который я отправляю в качестве опоры:

<ValueSelector key = "valueSelector" field = {this.state.selectedField || queryBuilderFields[0].name}/>

Итак, когда у меня есть valueSelector в качестве объекта javascript, мне нужно установить свойство «field». Нет возможности сделать это?

Передавая реквизиты, вы имеете в виду свои собственные реквизиты. Вы не можете, если не сделаете копию в своем репо. Бинд не поможет. Привязка меняет контекст. Вам необходимо отправить свойство в элемент JSX.

Rajesh 07.12.2018 11:59

Я отредактировал вопрос, чтобы показать valueSelector, это компонент, который я получаю, и мне нужно передать свойство "field". Мне действительно нужно скопировать и вставить код в это репо? Действительно ли невозможно передать опору в компонент, который передается как опора? Мы можем отправлять реквизиты только с помощью JSX?

fgonzalez 07.12.2018 12:06

проверьте React.cloneElementдок, пример

Mayank Shukla 07.12.2018 12:11

@MayankShukla Клонирование элемента у меня сработало, спасибо !. Следует ли использовать это как ответ вместо комментария?

fgonzalez 07.12.2018 14:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
72
0

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