Установить и обновить состояния массива из индекса в виде строки - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь установить состояние для определенного индекса массива.

   let updatedArray = [...this.state.AnswerState];
   updatedArray[name] = value;
   this.setState({
        AnswerState: [updatedArray]
   }, () => {
        console.log(this.state.AnswerState);
   });

У меня есть

this.state.AnswerState = [ 
                           0: {Name: ""}
                           1: {Number: ""}
                         ]

, который генерируется динамически.Как мне обновить состояние?Я получаю вывод в виде вложенных циклов:

0: Array(1)
 0: {Name: ""}
    Name: "s"
 Name: "ss"

и т. Д.

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

AnswerState = [
    Name: aaa, Number: bbbb
]

1 Ответ

0 голосов
/ 27 сентября 2019

Установка состояния для определенного индекса массива.

Здесь я помещаю элемент в индекс 1 в обновленном массиве.

import React from "react";
import ReactDOM from "react-dom";

class App extends React.Component {
  state = {
    answerState: [{ name: "something1" }, { name: "something2" }]
  };
  handleSubmit = () => {
    const index = 1;
    let updatedArray = new Array(this.state.answerState[index]);
    this.setState({
      answerState: updatedArray
    }, () => {
      console.log(this.state.answerState)
    })
  };
  render() {
    return (
      <>
        <button onClick={this.handleSubmit}>Click Me</button>
        <br />
        {this.state.answerState[0].name}
      </>
    );
  }
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

Надеюсь, это поможет !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...