Javascript this.prop.state.location.url未定义?反应Js链接道具
Component.js:Javascript this.prop.state.location.url未定义?反应Js链接道具,javascript,reactjs,Javascript,Reactjs,Component.js: <Link to={{ pathname: 'audio-Player', state: { url: 'Demo' } }}> Play</Link> componentDidMount() { this.state.song.src = this.props.loaction.url console.log(this.state.song) this.setState({ play_img: document.quer
<Link to={{ pathname: 'audio-Player', state: { url: 'Demo' } }}> Play</Link>
componentDidMount() {
this.state.song.src = this.props.loaction.url
console.log(this.state.song)
this.setState({
play_img: document.querySelector('#play_img'),
range: document.querySelector('#range1'),
})
const { song, range, play_img, total_time, currentTime } = this.state
}
您正在尝试访问不存在的
loaction.url
。如果默认值不存在,则可以设置该值:
this.state.song.src = this.props.loaction?.url ?? "default value";
或
另外,您可能需要用于可选链接的插件。您正在尝试访问不存在的
loaction.url
。如果默认值不存在,则可以设置该值:
this.state.song.src = this.props.loaction?.url ?? "default value";
或
另外,对于可选链接,您可能需要插件。我尝试了以下方法:
componentDidMount() {
this.state.song.src = this.props.location.state.url
? this.props.location.state.url
: ' sdxs'
console.log(this.state.song)
this.setState({
play_img: document.querySelector('#play_img'),
range: document.querySelector('#range1'),
})
const { song, range, play_img, total_time, currentTime } = this.state
}
但它仍然不起作用。我尝试了以下方法:
componentDidMount() {
this.state.song.src = this.props.location.state.url
? this.props.location.state.url
: ' sdxs'
console.log(this.state.song)
this.setState({
play_img: document.querySelector('#play_img'),
range: document.querySelector('#range1'),
})
const { song, range, play_img, total_time, currentTime } = this.state
}
但它仍然不起作用。嗨!当你问问题时,文本区右侧有一个大橙色的“如何设置格式”框,其中包含有用的信息。还有一个工具栏,上面满是格式辅助工具。还有一个[?]按钮提供格式化帮助。在文本区和“发布你的问题”按钮之间有一个预览区,显示你的帖子发布时的样子(这样你就必须滚动过去才能找到按钮,这样你才能看到它)。把你的帖子写清楚,并表明你花了时间去做,这会提高你得到好答案的机会。这只是一个打字错误。您有
loaction
,而不是location
。请在第一个组件的底部提供路由器(第一个组件)的此导出默认值HI!当你问问题时,文本区右侧有一个大橙色的“如何设置格式”框,其中包含有用的信息。还有一个工具栏,上面满是格式辅助工具。还有一个[?]按钮提供格式化帮助。在文本区和“发布你的问题”按钮之间有一个预览区,显示你的帖子发布时的样子(这样你就必须滚动过去才能找到按钮,这样你才能看到它)。把你的帖子写清楚,并表明你花了时间去做,这会提高你得到好答案的机会。这只是一个打字错误。您拥有的是loaction
,而不是location
。请在第一个组件底部提供路由器(FirstComponent)的导出默认值Route组件接收位置
(不是loaction
)属性。OP的问题是一个简单的打字错误。我们结束了基于拼写错误的问题。我想你的syntex是错的,你能重播一遍吗?那也是拼写错误,但还是一样error@adminuseonly-??
是JavaScript的一个新添加。在他的文章的第一个版本中,他只有这段代码,所以我只是基于这段代码。我想你是对的,这是一种类型,但不知何故它不能解决他的问题@T.J.CrowderRoute组件接收位置
(非动作
)属性。OP的问题是一个简单的打字错误。我们结束了基于拼写错误的问题。我想你的syntex是错的,你能重播一遍吗?那也是拼写错误,但还是一样error@adminuseonly-??
是JavaScript的一个新添加。在他的文章的第一个版本中,他只有这段代码,所以我只是基于这段代码。我想你是对的,这是一种类型,但不知何故它不能解决他的问题@T.J.CrowderNope,你能告诉我更多吗好的,我导入了,但我使用链接重定向到新组件并通过状态传递数据,它工作正常,但当我手动打开该组件时,它显示URL未定义Bcz,我无法通过链接,这是我的音频播放器组件didmount(){this.state.song.src=this.props.location.state.url;console.log(this.state.song);this.setState({play#img:document.querySelector(“#play#img”),range:document.querySelector(“#range1”)});const{song,range,play#img,total#time,currentTime}=this.state;}不,你能告诉我更多吗好的,我导入了,但我使用链接重定向到新组件,并通过状态传递数据,它工作正常,但当我手动打开该组件时,它显示URL未定义Bcz,我无法通过链接,这是我的音频播放器组件didmount(){this.state.song.src=this.props.location.state.url;console.log(this.state.song);this.setState({play#img:document.querySelector(“#play#img”),range:document.querySelector(“#range1”)});const{song,range,play#img,total#time,currentTime}=this.state;}