所以我试图通过构建个人启动页面来学习ReactJS。前面的马虎解释。
在我的主app.js文件中,我已经初始化了应用程序的状态,其中包含以下信息:
class App extends Component {
constructor(props){
super(props);
this.state = {
links: {
listA: ["CodeCademy","Udemy","StackOverflow","This is list A"],
listB: ["ADSR","Youtube","Reddit", "This is list B"],
listC: ["Overwatch", "R6S", "CSGO", "This is list C"],
listD: ["Soundcloud", "Pandora", "Spotify", "This is list D"]
},
linkbar: {
links1: "coding",
links2: "chillin",
links3: "vidya",
links4: "music"
},
//activeList : something
}; //etc
但是对于我的生活,我无法弄清楚是否有办法从现有房产中取出房产。在这种情况下,我想通过引用引用其中一个activeList
数组的this.state.links
对来交换列表。但是,每当我尝试引用数组时,都会导致错误,指出activeList未定义。
我在这里遗漏了什么吗?是否有一种不同的方法可以通过一种方法来解决这个问题?是否可以在状态中定义activeList或者是否需要通过const在外部完成?感谢任何指导,学习React对我来说有点粗糙。干杯!
答案 0 :(得分:2)
与州内多个级别进行交互的唯一方法是操纵状态之外的对象,然后将其传入。
从我看到的代码中,我不确定为所有这些状态玩状态是最好的主意。不过这是一个例子。
myHandler() {
var levelA = {...this.state.levelA};
levelA.levelB = ["hello"];
// so something
this.setState(levelA);
}