Object.keys中找不到状态

问题描述:

render() { 
    console.log(this.state.myStateValue); // I see this on the console 
    var test = configOptions ? 
    Object.keys(configOptions).map(function(key) { 
     console.log('test'); // I see this on the console 
     console.log(this.state.myStateValue); // Getting Uncaught TypeError: Cannot read property 'state' of undefined 
    } 
    return() {...} 
} 

我在做什么错?Object.keys中找不到状态

谢谢!

+1

的可能的复制[?如何进入回调中正确的\'这\'上下文(HTTPS ://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-context-inside-a-callback) – noahnu

试试这个:

Object.keys(configOptions).map(function(key) { 
    console.log('test'); 
    console.log(this.state.myStateValue); 
}.bind(this)) 

或更好,如果你有ES6

Object.keys(configOptions).map((key) => { 
    console.log('test'); 
    console.log(this.state.myStateValue); 
}) 
+2

我刚刚复制了OP的片段。想必他只是想测试'this.state'的可见性,稍后会在循环中做更多的事情。 – pscl

+0

@ user1628461工作!谢谢!!我想我需要更多地了解这个 –

+0

@ user1628461哦,是的,你是对的,我的错误。 – noahnu