在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ react父組件調(diào)用子組件的方法

react父組件調(diào)用子組件的方法

圖片描述我想調(diào)用子組件的方法,可打印的時(shí)候并沒有找到子組件的方法圖片描述

回答
編輯回答
選擇

shouldhide 你設(shè)置為false后,渲染的是if里面的數(shù)據(jù),if里面沒有ref

2018年5月20日 02:13
編輯回答
萢萢糖

你用 state 上的 shouldhide 判斷顯示不同部分。

當(dāng) shouldhidetrue 時(shí),是不顯示后半部分的。所以你取不到 this.refs.test 的。

還有,如果想在調(diào)用 setState 后就做一些跟 state 相關(guān)的操作時(shí),應(yīng)該等 setState 結(jié)束之后再做。

由于 setState 是一個(gè)異步操作,所以不能按圖上同步操作,應(yīng)該像下面這樣:

this.setState({
  shouldhide: true
}, () => {
  console.log(this.refs.test)
})

而實(shí)際上,只有當(dāng) shouldhidefalse 時(shí),你才能取到 this.refs.test。

BasicEdit 修改成下面這樣試試:

BasicEdit = () => {
    this.setState({
        shouldhide: true
    }, () => {
        setTimeout(() => {
            console.log(this.refs.test)
        }, 500)
    })
}
2017年6月25日 18:21