Javascript JS/Reactjs-访问从顶级函数传递的参数
正在尝试将状态Javascript JS/Reactjs-访问从顶级函数传递的参数,javascript,reactjs,variables,global,Javascript,Reactjs,Variables,Global,正在尝试将状态person\u id分配给正在外部传递的id。我甚至可以在pBox中输出数据,但数据在React的子函数中丢失。我试过做var self=this分配,但没有效果。当涉及到JS时,我对范围感到迷茫 当前,id被getInitialState(id)的参数隐藏,并且变得未定义,因为调用getInitialState时没有任何参数 因此,删除该参数,就可以使用getInitialState()中的pBox方法中提供的id 函数getInitialState需要id的参数。如果它没有收
person\u id
分配给正在外部传递的id
。我甚至可以在pBox
中输出数据,但数据在React的子函数中丢失。我试过做var self=this
分配,但没有效果。当涉及到JS时,我对范围感到迷茫 当前,id
被getInitialState(id)
的参数隐藏,并且变得未定义,因为调用getInitialState
时没有任何参数
因此,删除该参数,就可以使用getInitialState()
中的pBox
方法中提供的id
函数getInitialState
需要id
的参数。如果它没有收到一个,则该本地作用域中仍然有一个id
,但它包含未定义的
。正如@Shuhei所提到的,从函数中删除该参数或给它一个不同的名称将允许您在更高的范围内访问id
为了便于阅读,我建议您将React.CreateClass分离到另一个函数中
您的新函数如下所示:
pBox: function(id) {
console.log('inside pBox: '+ id);
return React.createClass({
getInitialState: function() {
console.log('inside getInitialState: '+ id);
return {
person_id: id
}
},
function foo(id){
console.log('inside pBox: '+ id);
return React.CreateClass({...}) //Same code you had before
}
您的代码将如下所示:
pBox: function(id) {
console.log('inside pBox: '+ id);
return React.createClass({
getInitialState: function() {
console.log('inside getInitialState: '+ id);
return {
person_id: id
}
},
function foo(id){
console.log('inside pBox: '+ id);
return React.CreateClass({...}) //Same code you had before
}
getInitialState
甚至没有传递任何参数,因此应该将其保留为空