У меня есть требуемые значения в поле, и мне нужно скопировать значение из поля value, value1, value2, value3, value4 в объект курса, используя setState в реакции

class RegistrationPage extends Component {
  state = {
    value:'',
    value1:'',
    value2:'',
    value3:'',
    value4:'',
    course:{
      watchHref:'',title:'',authorId:'',category:'',length:''
    }
  }
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
0
20
1

Ответы 1

Используйте приведенную ниже функцию, чтобы скопировать свое значение в объект курса в состоянии,

copyVal(){
  let course = {...this.state.course};
  course.watchHref = this.state.value1;
  course.title = this.state.value2;
  course.authorId = this.state.value3;
  course.category = this.state.value3;
  course.length = this.state.value4;
   this.setState({course:course});
}

отладчик показал, что значения обновляются, но, к сожалению, я попытался записать вывод с помощью console.info (this.state.course); я мог видеть пустые значения

Chida 17.06.2018 07:31

SetState является асинхронным, поэтому, если вы хотите вести журнал, вы можете сделать это с помощью его функции обратного вызова, то есть this.setState({course:course},()=>{console.info(this.state.co‌​urse)});. И, пожалуйста, примите ответ, если приведенные выше утверждения сработали для вас.

Rohith Murali 17.06.2018 07:34

на этот раз невозможно увидеть журнал

Chida 17.06.2018 07:46

Хорошо, попробуй this.setState({course:course},()=>{console.info(this.state)})‌​;

Rohith Murali 17.06.2018 07:48

Кстати, значения не обновляются для объекта курса, присутствующего в состоянии, вместо этого он просто обновляется в this.setState ({course: course}), и я не увижу, что значения обновляются в состоянии

Chida 17.06.2018 07:48

Вы хотели скопировать значения в Value 1,2,3,4 в объект курса с помощью setState, верно? Вы имеете в виду объект курса, который не в состоянии?

Rohith Murali 17.06.2018 07:50

Я не могу понять вашу текущую проблему

Rohith Murali 17.06.2018 07:52

Я пытаюсь сохранить значение для хранения, прежде чем нужно обновить значения в состоянии, чтобы я мог отправить объект для хранения

Chida 17.06.2018 08:08

надеюсь, вы поняли проблему

Chida 17.06.2018 08:10

строка # 68 не выполняется, как я дал в ответе, и, как я уже упоминал в своем предыдущем комментарии, пожалуйста, добавьте console.info вместе с setState, this.setState({course:course},()=>{console.info(this.state)})‌​;

Rohith Murali 17.06.2018 08:14

{значение: "chida", значение1: "мммм", значение2: "888", значение3: "999", значение4: "[email protected]",…} LNameError: "" course: authorId: "" category: " "length:" "title:" "watchHref:" "прото: Object eMailError:" "fNameError:" "mNumError:" "registrationData:" Добро пожаловать в регистрационную форму "sapIdError:" "value:" chida "value1:" mmmm " значение2: «888» значение3: «999» значение4: «[email protected]»

Chida 17.06.2018 08:15

Я добавил и удалил, так как console.info не печатает

Chida 17.06.2018 08:16

Запись в качестве следующего оператора в setstate никогда не покажет вам правильный журнал.

Rohith Murali 17.06.2018 08:17

Вы меняли строку №68 на let course = {...this.state.course}; ??

Rohith Murali 17.06.2018 08:20

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