请问如何将react中的state初始化成一个多层对象,并且中间层的对象存在数组

首先我有一个多层对象,类似于

var a = {
        b:{
            c:{
                d:""
            }
        }
    }
    

如果我想要将a作为一个state请问应该如何初始化

以下是我的尝试

class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            data:{}
        };
    }
    
    componentDidMount() {
        this.setState({data:a.b.c});
    }
    
    render(){
        return(
        <p>{this.state.d}</p>
        )
    }
 }
 

或者是

class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            data:""
        };
    }
    
    componentDidMount() {
        this.setState({data:a.b.c.d});
    }
    
    render(){
        return(
        <p>{this.state}</p>
        )
    }
 }

也就是说只能将state初始化成c和d。所以想要请教一下如何初始化成a那种形式。

并且如何在里面定义数组呢,比方说b是一个含有4个元素的数组

阅读 3.3k
2 个回答

这个样子?

class App extends React.Component {
    constructor() {
        super();
        this.state = {
            a: {
                b: {
                    c: {
                        d: ''
                    }
                }
            }
        }
    }
    
    render() {
        return (
            <div>{this.state.a.b.c.d}</div>
        )
    }
}
this.state = {
    a,
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题