Javascript React JS:为什么我在componentdidMount()处出错?
以下是我的父组件:Javascript React JS:为什么我在componentdidMount()处出错?,javascript,reactjs,frontend,react-props,Javascript,Reactjs,Frontend,React Props,以下是我的父组件: const movies = [896, 895] const cards = movies.map(movie =>{ <FlipCard number = {'movie'} /> }) state = { poster: 'http://image.tmdb.org/t/p/w500', } componentDidMount(){ axios.get('https
const movies = [896, 895]
const cards = movies.map(movie =>{
<FlipCard number = {'movie'} />
})
state = {
poster: 'http://image.tmdb.org/t/p/w500',
}
componentDidMount(){
axios.get('https://api.themoviedb.org/3/movie/' + {this.props.number} + '?api_key=*******&language=en-US')
.then(
res=>{
this.setState({poster: this.state.poster + res.data.poster_path})
console.log(this.props);
}
)
}
const movies = [896, 895]
const cards = movies.map(movie => {
<FlipCard number = 'movie' />
})
在浏览器中,我遇到以下错误:
[此.props.number处的意外关键字'this']
在VS代码中,我得到了这个错误
[':'在该axios行处应为]
我如何解决这个问题
编辑:
我确实去掉了卷曲的大括号。现在componentdidMount()根本没有启动。甚至console.log也没有显示。为什么?请帮忙 尝试以下方式修复代码: 在父组件中:
const movies = [896, 895]
const cards = movies.map(movie =>{
<FlipCard number = {'movie'} />
})
state = {
poster: 'http://image.tmdb.org/t/p/w500',
}
componentDidMount(){
axios.get('https://api.themoviedb.org/3/movie/' + {this.props.number} + '?api_key=*******&language=en-US')
.then(
res=>{
this.setState({poster: this.state.poster + res.data.poster_path})
console.log(this.props);
}
)
}
const movies = [896, 895]
const cards = movies.map(movie => {
<FlipCard number = 'movie' />
})
您可以使用箭头函数和异步等待方法解决此问题并编写更好的代码
state = {
poster: 'http://image.tmdb.org/t/p/w500',
}
componentDidMount() {
getPoster()
}
const getPoster = async () => {
try {
const response = await axios.get(`https://api.themoviedb.org/3/movie/${this.props.number}api_key=*******&language=en-US`)
this.setState({poster: this.state.poster + response.data.poster_path})
console.log(this.props);
} catch(err) {
console.log(err)
}
}
这不是有效的javascript-删除卷曲尝试从
{this.props.number}
@Peter中删除{}
。没有显示任何错误。但是componentDidMount()根本没有启动。甚至其中的console.log也不会显示。为什么?@DanielA.White请参考上面的内容。我照你说的做了。错误不再存在。但是,componentdidMount()不再触发。甚至console.log也没有显示!请帮助。我认为您的API调用没有返回有效响应。