为了账号安全,请及时绑定邮箱和手机立即绑定

Uncaught (in promise) TypeError: Cannot read property 'pagecontent' of null(…),这个问题怎么解决啊

Uncaught (in promise) TypeError: Cannot read property 'pagecontent' of null(…),这个问题怎么解决啊

qq_没有蜡笔的小新_5 2018-04-19 14:40:16
import React from 'react';import {Row,Col} from 'antd';export default class PCNewsDetails extends React.Component{  constructor(){    super();    this.state={      newsItem: ''    };  };    componentDidMount(){      var myFetchOptions={        method:'GET'      };      fetch("http://newsapi.gugujiankong.com/Handler.ashx?action=getnewsitem&uniquekey="+this.props.params.uniquekey,myFetchOptions)      .then(response=>response.json())      .then(json=>{        this.setState({newsItem:json});        document.title=this.state.newsItem.title+" - React News | React 驱动的新闻平台";      })    };    createMarkup(){      return {__html:this.state.newsItem.pagecontent};    };  render(){    return(      <div>          <Row>            <Col span={2}></Col>            <Col span={14} className="container">              <div class="articleContainer" dangerouslySetInnerHTML={this.createMarkup()}></div>            </Col>            <Col span={6}></Col>            <Col span={2}></Col>          </Row>      </div>    );  };}
查看完整描述

4 回答

?
zzZerOrz

TA贡献101条经验 获得超28个赞

Cannot read property 'pagecontent' of null这句话的意思是调用pagecontent这个属性的变量是null,也就是空的,根据你这句__html:this.state.newsItem.pagecontent,所以说this.state.newsItem = null了

查看完整回答
反对 回复 2018-04-19
  • qq_没有蜡笔的小新_5
    qq_没有蜡笔的小新_5
    那应该怎么解决啊
  • zzZerOrz
    zzZerOrz
    .then(json=>{ 在fetch的这一步,console.log(json, "json fetch");看一下控制台打印的json是不是空的,还有用数据时要加判断,if(this.state.newsItem = null),才去获取this.state.newsItem.pagecontent
  • qq_没有蜡笔的小新_5
    qq_没有蜡笔的小新_5
    null "json fetch" 显示的是空值 Cannot read property 'title' of null 标题属性也是空
?
牛奶老哥哥

TA贡献204条经验 获得超92个赞

没有pagecontent这个属性, 代码写错了啊,代码都没有你想怎么解决

查看完整回答
反对 回复 2018-04-19
  • qq_没有蜡笔的小新_5
    qq_没有蜡笔的小新_5
    import React from 'react'; import {Row,Col} from 'antd'; export default class PCNewsDetails extends React.Component{ constructor(){ super(); this.state={ newsItem: '' }; }; componentDidMount(){ var myFetchOptions={ method:'GET' }; fetch("http://newsapi.gugujiankong.com/Handler.ashx?action=getnewsitem&uniquekey="+this.props.params.uniquekey,myFetchOptions) .then(response=>response.json()) .then(json=>{ this.setState({newsItem:json}); document.title=this.state.newsItem.title+" - React News | React 驱动的新闻平台"; }) }; createMarkup(){ return {__html:this.state.newsItem.pagecontent}; }; render(){ return( <div> <Row> <Col span={2}></Col> <Col span={14} className="container"> <div class="articleContainer" dangerouslySetInnerHTML={this.createMarkup()}></div> </Col> <Col span={6}></Col> <Col span={2}></Col> </Row> </div> ); }; }
  • qq_没有蜡笔的小新_5
    qq_没有蜡笔的小新_5
    代码我给填上了,你看看能解决吗?
  • 牛奶老哥哥
    牛奶老哥哥
    判断this.state.newsItem有值再执行this.createMarkup()
点击展开后面1
  • 4 回答
  • 0 关注
  • 12038 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信