reactjs - 无法访问 React 组件返回的属性
问题描述
我有一个 React 组件获取项目的信息并返回 JSX:
const detail = props => {
const service = new Services()
const detail = service.findItem(props.match.params.id)
.then(item => {
console.log(item) // logs correct details, including the title property
return item
})
.catch(err => console.log(err))
return (
<h1>{detail.title}</h1> // !! prints nothing inside the <h1> tag
)
}
如上所示,返回对象正确记录了所有属性,但是当尝试通过 JSX 访问它们时,没有显示任何信息。
没有控制台错误。
解决方案
因为细节还没有解决,你可以拥有React.Component
和使用
export class detail extends React.Component {
state = {
item: {}
}
componentDidMount(){
const service = new Services()
const detail = service.findItem(props.match.params.id)
.then(item => {
this.setState({ item:item });
})
.catch(err => console.log(err))
}
render() {
return <h1>{this.state.item.title}</h1>
}
}
推荐阅读
- macos - 尽管使用了 sudo,但打开 /dev/rdisk0 仍会出现“不允许操作”错误
- android - adb 不是内部或外部命令、可运行程序或批处理文件
- java - IGV 在 Mac 上崩溃
- javascript - Vue CLI 3 vue.config.js 与 webpack.config.js 的插件
- linux - Linux 命令 `file` 如何识别我的文件的编码?
- composer-php - 在 OS Catalina 上安装 PHP Composer
- javascript - 无法连接到 SQLEXPRESS - Node.js
- mysql - MySQL 5.7 - 物料清单的总量列
- git - 如何在 JGit 中执行“git clone --mirror”?
- android - 如何在自定义适配器中跟踪我选中的复选框?