【问题标题】:I have Some Error when add Button to my React Native App?将按钮添加到我的 React Native 应用程序时出现一些错误?
【发布时间】:2019-03-17 23:40:36
【问题描述】:

** 我在添加按钮时遇到了一些问题!**

在应用程序中出现了错误

java.lang.string 不能转换为 com.facebook.react.uimanager.accessibility DelegateUtil$accessibilityRole


我的简单代码

import React, { Component } from "react";
import { StyleSheet, TextInput, View, Button, Text } from "react-native";

export default class App extends Component {
  state = {
    placeName: ""
  };

  placeNameChangeHandler = val => {
    this.setState({
      placeName: val
    });
  };

  onPressLearnMore = () => {
    alert("Pressed");
  };

  render() {
    return (
      <View style={styles.container}>
        <Button
          onPress={this.onPressLearnMore}
          title="Learn More"
          color="#841584"    
        />

        <TextInput
          style={{
            width: 300,
            borderBottomWidth: 1,
            borderBottomColor: "#333"
          }}
          placeholder="Enter Name.."
          value={this.state.placeName}
          onChangeText={this.placeNameChangeHandler}
        />
      </View>
    );
  }

【问题讨论】:

  • 那么如果你删除Button你的代码可以正常工作吗?
  • @Think-Twice 我知道这无关!但那是我展示的!
  • @JoseVf 是的!这是工作,太奇怪了
  • @Gha 你使用的是哪个版本的 react-native?
  • @Think-Twice "react-native": "0.57.3"

标签: javascript reactjs react-native redux


【解决方案1】:

是的,这是 react-native 0.57.3 中的一个错误,但 react-native 0.57.2 有其自身的问题!

所以你必须降级到更稳定一点的react-native 0.57.1

在项目根目录的命令提示符下执行以下操作(这些步骤会安装此版本缺少的一些依赖项):

1) 删除你的node_modules 目录(命令:rmdir node_modules /s in windows)

2)npm i -S react-native@0.57.1

3)npm add @babel/runtime

4) npm i -D schedule@0.4.0

5)npm i

现在您可以安全地运行react-native run-androidreact-native run-ios

希望这对你有用(就像对我一样)。

【讨论】:

  • WTF!现在可以了:/无论如何谢谢你,兄弟,我有一个问题,在没有最新版本的情况下初始化新项目的正确命令是什么?我做了这样的事情** react-native init myApp react-native@0.57.1​​*,但不起作用并初始化最后一个版本0.57.3!
  • 你应该添加 [VERBOSE] 这样的:eeact-native init myApp react-native --version 0.57.1​​
  • @Gha 欢迎您!如果你想创建一个具有特定版本(比如 0.57.1​​)的新项目,你可以运行 react-native init projectName --version@0.57.1
  • @AliRadmanesh 谢谢你,我在安装 react-navigation 时遇到了一些问题,我有错误“开发服务器返回响应代码:500”这是什么?
  • @Gha 您的问题不在本主题范围内。你可以在stackoverflow中问另一个问题。但在此之前,请确保搜索您遇到的错误。祝你好运!
【解决方案2】:

这是react-native version 0.57.3 中的一个错误,因此将react-native 版本降级为0.57.1 将是解决方法

将 package.json 中的 react-native 版本明确更改为 0.57.1,而不是 ^0.57.1

并删除node_modules 文件夹

然后做

npm i

检查here 以获取有关该问题的更新

【讨论】:

  • 同样的错误我的朋友!!,突然发生了
  • 是的,查看url中的截图
  • @Gha 你删除了 node_modules 文件夹然后 npm i
  • @Gha 检查此问题以解决此处发布的相同问题stackoverflow.com/questions/45686605/…
  • yes 删除了它们和 npm i ,但是当尝试“react-native run-android”时,我的构建应用程序失败,我检查了问题,但我没有使用 Andriod Studio,我使用 Genymotion Emulator
猜你喜欢
  • 2019-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多