Javascript 这是函数中的保留字错误,而不是返回

Javascript 这是函数中的保留字错误,而不是返回,javascript,reactjs,axios,Javascript,Reactjs,Axios,我试图访问一个api,并在每次单击按钮时简单地将对象(从中获取)存储在状态中,但一旦我尝试npm启动它,它就会给出语法错误:这是一个保留字。 我不知道为什么会发生这种情况,我希望得到一些答案,如果您通过任何方式看到任何缺陷或改进我的代码的方法,请随时告诉我。 代码如下: 从“React”导入React; 从“react dom”导入react dom; 从“axios”导入axios; 类列表扩展了React.Component{ 建造师(道具){ 超级(道具); 此.state={ 人物:[]

我试图访问一个api,并在每次单击按钮时简单地将对象(从中获取)存储在状态中,但一旦我尝试npm启动它,它就会给出语法错误:这是一个保留字。 我不知道为什么会发生这种情况,我希望得到一些答案,如果您通过任何方式看到任何缺陷或改进我的代码的方法,请随时告诉我。 代码如下:

从“React”导入React;
从“react dom”导入react dom;
从“axios”导入axios;
类列表扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
人物:[],
页码:1,
};
this.getNextPers=this.getNextPers.bind(this);
}
getNextPers(){
让URL为空https://swapi.com/api/people/'+{this.state.page};
然后((p)=>this.setState({personages:[…{this.state.personagens},…p],page:{this.state.page}+1}));
}
render(){
返回(
人物

{this.state.personagens.map(pers,i)=>( {pers.name}

)} 代理人格 ); } } ReactDOM.render(,document.getElementById('root'));
URL
是一个糟糕的变量名选择,很可能是您提到的错误中引用的保留字。也许可以选择更多类似于
peopleapidendpoint
的东西

一般反馈:

  • 声明上述变量时,使用
    const
    而不是
    let
    。您从未对此变量进行过重新分配。作为进一步的参考资料
  • 迭代元素时,不要将索引用作
    pers.name
    可能是一个更好的键选择。作为进一步的参考资料

中让URL='1'https://swapi.com/api/people/'+{this.state.page}大括号是问题所在。尝试以下任一方法:


常量URL=https://swapi.com/api/people/“+this.state.page


常量URL=`https://swapi.com/api/people/${this.state.page}`

(两项工程)


我同意其他人的看法,小写的
url
可能是变量名的更好选择。

有一种感觉,就是这样(不是双关语)
let url='1!'https://swapi.com/api/people/'+{this.state.page}
this.state.page
周围应该有花括号吗?谢谢你的帮助,但现在它不是从url的this,而是从this.state.personagens的this上,你们还有其他想法吗?难道不能像这样递增
this.state.page++
?至少应该解决“保留关键字this”的问题,对吗?谢谢你的反馈,我在代码中添加了更改