React Native Web - 控制 View 生成的 html 标签?

Geo*_*uer 5 react-native react-native-web

我有一个 React Native Web 项目。有一次,我希望我的View而不是生成 a<div>来生成一个<label>元素。

有没有办法控制这个?htmlTag如果这不是为浏览器环境编译,我希望某种属性会被忽略。

Chr*_*ras 7

有一个component道具,但它被删除以支持accessibilityRole删除component道具)。

您可以使用accessibilityRole它来指定label标签,甚至可以使用它创建自定义元素:

function Label({ text }) {
  return <View accessibilityRole="label">{text}</View>
}
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

export default class App extends React.Component {
  render() {
    return (
      <View style={styles.container}>
        <View>
          <Label text="Test input:"/>
          <TextInput name="test-input"/>
        </View>
      </View>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

检查这个工作世博小吃:https://snack.expo.io/@clytras/change-rn-web-div-tag