先介紹一下要解決的問題:react中乙個元件a和乙個元件b,其中b是被connect(connect是redux中的方法)包裝過的元件,包裝成bcontainer,a和bcontainer的關係是兄弟關係,在同乙個父元素下渲染。現在我們要在點選a的時候呼叫b中的方法
解決思路:主要是用到ref獲取bcontainer元件掛載之後的例項
render()/>)}
ref中的**函式會在元件被掛載之後執行,引數是元件的例項,所以這個時候變數b就是被掛載的元件b的例項。
這個例項物件是connect包裝過後的方法,我們可以用
來獲取到被包裝的元件,但是注意記得在connect函式那裡要加上引數才行
export defaultconnect(
mapstatetoprops,
mapdispatchtoprops,
null
,
)(b)
這樣就可以獲得b的例項了,就可以呼叫b中的方法了
還有要注意的,在b中定義方法時要這樣定義
fun = ()=>
這樣相當於this.fun = ()=>{},如果你像成員函式(比如constructor)那樣定義:fun(){}它是會繫結在物件的原型(_proto_)上,因為constructor也是在原型上的
在乙個xib 中呼叫另外乙個xib
重複使用的控制項類 h 檔案 property strong,nonatomic uiview view property copy,nonatomic nsstring title m 檔案 import sfstatusselectview.h implementation sfstatusse...
typescript在react元件中的使用
typescript中文文件 布林值 let istrue boolean false 數字 let num number 4 字串 let name string boble 陣列 let arr number 1,2,3,4 let arrs array 注意 內部表示陣列item的屬性,可以設...
在finally中呼叫乙個需要await的方法
最近在把code改寫成async await的形式,發現有些情況下需要在finally中需要呼叫非同步方法,但是編譯器不允許在cache和finally 現await關鍵字。但是用wait 或者result又會導致一些其他稀奇古怪的毛病 死鎖啦,aggregateexception啦。所以,需要找乙...