Reactjs Spotify隐式流教程,标记为空
新开发人员试图创建一个spotify搜索项目来帮助我学习 我遵循本教程,因此用户可以使用spotify登录我的应用程序。 我现在被困在一个部分,它问你在哪里创建登录按钮。我遵循了代码示例,但当我加载页面时,出现了一个错误:Reactjs Spotify隐式流教程,标记为空,reactjs,spotify,Reactjs,Spotify,新开发人员试图创建一个spotify搜索项目来帮助我学习 我遵循本教程,因此用户可以使用spotify登录我的应用程序。 我现在被困在一个部分,它问你在哪里创建登录按钮。我遵循了代码示例,但当我加载页面时,出现了一个错误: TypeError: Cannot read property 'token' of null Landing.render src/components/Landing.js:39 36 | } 37 | render() { 38 | return (
TypeError: Cannot read property 'token' of null
Landing.render
src/components/Landing.js:39
36 | }
37 | render() {
38 | return (
> 39 | <div className="Landing">
| ^ 40 | {!this.state.token && (
41 | <a
42 | className="btn btn--loginApp-link"
TypeError:无法读取null的属性“token”
Landing.render
src/components/Landing.js:39
36 | }
37 | render(){
38 |返回(
> 39 |
|^40{!this.state.token&&(
41 |
)}
{this.state.token&&(
log(“你好”)
)}
);
}
}
导出默认着陆;
有人能把我推到正确的方向吗?出现错误的原因是没有定义初始状态值。所以react将
this.state
设置为null
,这样您就得到了错误
如何解决这个问题
this.state
就不是null
constructor() {
super();
this.state = {
token: null,
item: {
album: {
images: [{ url: "" }]
},
name: "",
artists: [{ name: "" }],
duration_ms:0,
},
is_playing: "Paused",
progress_ms: 0
};
您的状态似乎未设置。这一行的输出是什么?
console.log(\u-token)
?它是未定义的。Ye,因此未设置状态。如果未定义\u标记
,则永远不会运行此.setState()
。我猜你看到“无令牌”正在打印?是的,但我不知道为什么它是空的。正如我所说,我对编码还很陌生。但是我遵循上面的教程,这似乎正是他设定的,所以我不确定为什么我会看到这个错误,因为this.state
是未定义的。如果您在Chrome的开发者工具中打开控制台并键入this.state.token
,您将得到与没有this.state
完全相同的错误,因此不可能存在this.state.token
。您是否尝试过删除if-if(_令牌){
?非常感谢!这确实有帮助
constructor() {
super();
this.state = {
token: ""
};
}
{this.state && !this.state.token && (...
constructor() {
super();
this.state = {
token: null,
item: {
album: {
images: [{ url: "" }]
},
name: "",
artists: [{ name: "" }],
duration_ms:0,
},
is_playing: "Paused",
progress_ms: 0
};