字符串不能强制转换为Accessibility委托可访问性角色

时间:2018-10-16 13:45:14

标签: javascript react-native

我正在使用react native组件Button在react native中创建一个按钮。但是我在android上遇到错误,无法将java.lang.String强制转换为Accessibility委托可访问性角色。

如果删除按钮代码,则应用程序运行正常。如果我使用可触摸的不透明度,那么它也可以正常工作。

import * as React from 'react';
import { View, StyleSheet, Button } from 'react-native';

export default class App extends React.Component {
  render() {
    return (
      <View style={styles.container}>
        <Button title={"Login"} onPress={() => alert("Hi")} />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
  }
});

我的本​​机版本是0.57.3

我尝试过的。

  1. 添加辅助功能文本。
  2. 使用可触摸的不透明度。
  3. 顺便说一句,我看到了一个问题,答案是将react native版本降级到0.57.1​​,应该有一个比将整个降级版本更简单的解决方案。

1 个答案:

答案 0 :(得分:-2)

由于反应本机0.57.3中的错误,您遇到此错误,我建议您降级至0.57.1​​,打开package.json并更改此代码行

- "react-native": "0.57.3" 
+ "react-native": "0.57.1"

然后删除您的node_modules文件夹,之后您现在可以在终端中运行此命令

对于Mac,您可以使用yarn或npm

使用纱线

sudo yarn install
sudo yarn add @babel/runtime
sudo yarn add schedule@0.4.0

或者npm

sudo npm install
sudo npm install @babel/runtime
sudo npm install schedule@0.4.0

对于Windows,只需运行不带sudo的命令即可,

使用纱线

yarn install
yarn add @babel/runtime
yarn add schedule@0.4.0

或者npm

sudo npm install
sudo npm install @babel/runtime
sudo npm install schedule@0.4.0

这毕竟并不困难