React native 访问本机web中的底层DOM节点

React native 访问本机web中的底层DOM节点,react-native,react-native-web,React Native,React Native Web,在react native web中创建自定义组件时,我希望访问视图组件的底层DOM节点以添加/删除eventListener class MyButton extends React.Component { render() { return ( <View ref={component => this._root = component}> <Text>{this.props.label}</Text>

在react native web中创建自定义组件时,我希望访问视图组件的底层DOM节点以添加/删除eventListener

class MyButton extends React.Component {    
  render() {
    return (
      <View ref={component => this._root = component}>
        <Text>{this.props.label}</Text>
      </View>
    )
  }
}
作为替代解决方案,我尝试直接呈现组件,然后附加eventListener:

    <div
      ref={e => (this.el = e)}
      tabIndex="-1"
    >
      <WrappedComponent {...this.props} />
    </div>
this.el.addEventListener('sn:focused', this._componentFocused);
这是可行的,但我还想在这个组件上设置一个样式,最好是通过道具传递的样式。这似乎不起作用,因为react本机样式与DOM节点样式不同

那么,这里的最佳解决方案是什么?继续使用div组件并以某种方式重新格式化样式,或者使用视图并以某种方式访问底层DOM节点以附加侦听器

this.el.addEventListener('sn:focused', this._componentFocused);