一、什么是ref
ref是组件的一种特殊属性,可以理解为组件被渲染后指向组件的一个引用,我们可以通过ref来获取真实的组件。因为组件并不是真正的DOM节点,而是存在于内存中的一种数据结构,我们称之为虚拟的DOM,只有当它真正的插入文档之后,才变为真正的DOM节点。根据React的设计,所有的DOM变动都发生在虚拟DOM上,然后再将实际的部分反映到真实的DOM上,这就是DOM DIFF,它可以提高页面性能。
二、如何使用ref
<WebView
style={{ width: width, height: height }}
source = {{uri: this.state.url}}
ref={(webView) => {this.webView = webView}} //
domStorageEnabled={false}
onMessage={this.onMessage.bind(this)}
injectedJavaScript={this.getInjectedJS()}
onError={this.onError}
renderError={this.renderError}
onNavigationStateChange={this.onNavigationStateChange.bind(this)}
/>
updataJS = ()=>{
const token = this.state.token;
const insertToken = `
window.token = '${token}';
//调用webView的js注入方法 `
this.webView.injectJavaScript(insertToken);
}
只要是webView有的方法都可以通过this.webiVew调用。例如this.webView.reload();