Javascript Reactjs:can';无法从父级访问道具,但在Chrome开发者工具中可见
接下来,我有了一个SPA React应用程序,该应用程序使用Passport对第三方(Strava)进行身份验证,并返回JSON数据,该数据包含一个accesstoken,然后我尝试在另一个组件中使用该accesstoken进行API请求 当我使用Chrome的开发者工具时,我可以看到子组件正在接收道具,但是当我尝试初始化子组件的状态时,我无法访问它 这是获取所有JSON数据并将accesstoken作为道具传递的父组件:Javascript Reactjs:can';无法从父级访问道具,但在Chrome开发者工具中可见,javascript,reactjs,Javascript,Reactjs,接下来,我有了一个SPA React应用程序,该应用程序使用Passport对第三方(Strava)进行身份验证,并返回JSON数据,该数据包含一个accesstoken,然后我尝试在另一个组件中使用该accesstoken进行API请求 当我使用Chrome的开发者工具时,我可以看到子组件正在接收道具,但是当我尝试初始化子组件的状态时,我无法访问它 这是获取所有JSON数据并将accesstoken作为道具传递的父组件: import React,{useContext,useState}来
import React,{useContext,useState}来自“React”;
从“./contexts/UserProvider”导入UserProvider;
从“./components/displays/CalculateSpeed”导入CalculateSpeed;
从“洛达斯”进口;
常量配置文件=()=>{
const userData=useContext(UserProvider.context);
返回(
);
};
导出默认配置文件;
以及子组件:
import React,{Component}来自'React';
类CalculateSpeed扩展组件{
建造师(道具){
超级(道具);
此.state={
法斯塔夫:错,
accessToken:props.accessToken
}
}
render(){
返回(
Accesstoken应该在这里{'\n'}
{this.state.fastAF}
但它不是。。。
)
}
}
导出默认计算速度
我在搜索答案时所看到的一切都在构造函数中讨论了super(props)
,但这并没有解决我的问题 你可以试试
state = {
fastAF: false,
accessToken: this.props.accessToken
}
而不是
constructor(props) {
super(props);
this.state = {
fastAF: false,
accessToken: props.accessToken
}
}
不,还是给我同样的问题你能不能放一个
console.log(props.accessTocken)
看看你是否真的从你的子组件那里得到了这些道具?