当我可以通过console.log()访问数据时,我找不到我为什么不能获得数据!
use WP_List_Table;
class Test_WP_List_table extentds WP_List_Table {
.....
当我运行此命令时一切正常,并且可以通过控制台查看数据:
export class InnerTicket extends React.Component{
constructor(props){
super(props);
this.state = {
ticket: ''
}
}
componentDidMount() {
this.getTicket().then(result => this.setState({
ticket: result
}))
}
getTicket(){
const slug = this.props.match.params.id;
return this.props.TicketsStore.loadTicket(slug);
}
render(){
console.log(this.state);
但是当我想在这样的视图中显示数据时:
{ticket: {…}}ticket: {success: true, data: {…}, error: "", message: ""}data: {result: "success", ticketid: 22, tid: "168552", c: "WHgCsCBO", deptid: 5, …}error: ""message: ""success: true__proto__: Object__proto__: Object
我收到此错误:TypeError:无法读取未定义的属性“状态”
答案 0 :(得分:1)
我不确定它是否完美,但应该可以正常工作
render(){
return( <span className="label label-warning">
{this.state.ticket.data.status ? this.state.ticket.data.status : null}
</span>)
答案 1 :(得分:0)
您已将状态初始化为此:
this.state = {
ticket: ''
}
因此,在第一个渲染中,this.state.ticket是一个空字符串,并且this.state.ticket.data是未定义的。直到稍后,您才能将state.ticket更新为对象。
要解决此问题,请将初始状态设置为可与您的render方法一起使用的状态,或者使render方法检查是否存在空字符串。