账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react通过子组件向父组件传值修改父组件state失败
    • 2018-08-06 00:00
    • 10
    26
    0

    react通过子组件向父组件props的函数传参,传值,修改父组件state,父组件报错

    this.setState is not a function
    

    子组件:

    fetch(`${host}/web/news/search_in_channel_with_pub_info?channelId=${channelId}&q=${id}&page=${_this.state.page}&size=${_this.state.size}`,{
                method:'GET',
                mode:'cors',
            }).then(function(response){
                _this.setState({
                    loading:false
                })
                return response.json().then(function(res){
                    if(res.content.length===0){
                        _this.props.handleFetch("false"); //在这里给父组件传值
                    }
                    _this.setState({
                        newsList:res.content,
                        totalPages:res.totalPages
                    });
                });
                
    
    父组件:
    
    constructor(props){
        super(props);
        this.state = {
            keyword:this.props.match.params.id,
            result:"true",
            _isMounted:true
        };
        this.handleFetch.bind(this)
    }
    
    handleFetch(status){
        console.log(status) //可以打印 出传来的false
        this.setState({
            result:status
        })
    }
    
    
    <NewsList type="search" id={this.state.keyword} handleFetch={this.handleFetch}/>
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部