我有一個簡單的組件公開了一個名爲doIt
的方法,但是這個組件被封裝在一個redux connect
中,所以我無法訪問它。這是我簡單的組件:通過引用訪問公開方法
class LoginSwitchDumb extends Component {
render() { ... }
doIt = (value: boolean) => alert('hi')
}
const LoginSwitch = connect(...)(LoginSwitchDumb)
export LoginSwitch
我渲染我父母這個元素是這樣的:
render() {
return (
<View>
<LoginSwitch id={id} kind={kind} ref={this.refSwitch} />
</View>
)
}
refSwitch = el => {
console.log('reffing switch:', Object.keys(el));
}
但是我們refSwitch
在控制檯日誌中看到,它不給我訪問doIt
。如果我不connect
我可以訪問它包起來,這是當不connect
包裹哪些將記錄:
數組[「道具」,「背景」,「裁判」,「更新」,「 doIt方法 「 」_reactInternalInstance「, 」狀態「]
我們在這裏看到doIt
,但是當我connect
包裹它,它不存在,我們看到這個:
數組[」道具「,」上下文「,」參考「,」更新「,」版本「,」狀態「,」renderCount「,」商店「,」道具SMODE」, 「setWrappedInstance」, 「選擇」, 「訂閱」, 「notifyNestedSubs」, 「_reactInternalInstance」]
反正是有挖掘這個去doIt
?
的可能的複製[陣營裁判返回一個「連接」對象,而不是DOM](https://stackoverflow.com/questions/41554365/react-ref-returns-a-connect-object-instead-of-dom) –