Arrays 将索引中的数组状态设置为字符串并进行更新

Arrays 将索引中的数组状态设置为字符串并进行更新,arrays,reactjs,ecmascript-6,Arrays,Reactjs,Ecmascript 6,我试图将状态设置为数组的特定索引 let updatedArray = [...this.state.AnswerState]; updatedArray[name] = value; this.setState({ AnswerState: [updatedArray] }, () => { console.log(this.state.AnswerState); }); 我有 this.state.AnswerState

我试图将状态设置为数组的特定索引

   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处

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);
从“React”导入React;
从“react dom”导入react dom;
类应用程序扩展了React.Component{
状态={
答复状态:[{name:“something1”},{name:“something2”}]
};
handleSubmit=()=>{
常数指数=1;
让updateArray=新数组(this.state.answerState[index]);
这是我的国家({
回答:UpdateArray
}, () => {
console.log(this.state.answerState)
})
};
render(){
返回(
点击我

{this.state.answerState[0].name} ); } } const rootElement=document.getElementById(“根”); render(,rootElement);

希望对你有帮助

你能添加codesandbox示例吗?我觉得你的回答有点奇怪。您可能希望首先检查该状态,或者确切地告诉我您正试图对该状态执行什么操作,以便我可以提供帮助。您的
应答状态
似乎是
对象
,而不是
数组
。它第一次只接受一个键值对,然后未定义的键值对进入状态,因为下次数组中只有一个元素索引1中没有元素。所以未定义,这个例子是为了说明如何通过索引更新状态。@tarzn chugh,但我希望索引是字符串。数组中可以有多个元素。数组中的索引为数字,若要将索引作为字符串,则必须使用具有键值对的对象。有关更多信息,请参阅链接。