如何在reactjs中向js中的列表添加项目

cld4siwp  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(267)

我创建了一个父组件js文件,并通过向其中添加10更改了数字列表的状态,但它显示错误,因为没有推送功能。有人能帮我解决这个问题吗??

import React, { Component,PureComponent } from 'react'
import Reg from './Regularcomp'
import Pure from './PureComp'

export class Parentcomp extends PureComponent {

constructor(props) {
    super(props)

    this.state = {
         name:"Mayank",
         numbers:[1,2,3,4,5,6]
    }
}

componentDidMount()
{
    setInterval(()=>{
            this.state.numbers = this.state.numbers.push(10)
    },1000)
}

render() {
    console.log("*****Parent Component*******")
    return (
        <div>
            Parent is Pure Component
            <Reg name={this.state.name}/>
            <Pure name={this.state.name}/>
        </div>
    )
}
}

export default Parentcomp
huwehgph

huwehgph1#

state react类组件中的接口是一个复杂的结构。它不能给你提供任何简单的信息 setters 在您的数据结构上。唯一可以在上面使用的setter是 setState 方法。所以你应该重写你的 componentDidMount 作为:

componentDidMount() {
    setInterval(() => {
        this.setState((prevState) => ({
            numbers: [...prevState.numbers, 10]
        }));
    }, 1000);
}

相关问题