标签: react-native-android

如果只有组件的一部分发生变化,React 是否会渲染整个组件?

我想知道如果我将大组件拆分成许多非常小的组件,我的代码是否会更高效,以便应用程序一次只渲染 DOM 的较小部分。

但是我觉得 React 可能已经只渲染了应用程序发生变化的部分,无论组件是大还是小。所以如果一个庞大组件的一小部分被改变,React 只会重新渲染组件的那一小部分,而不是整个组件。

我在第二段中的断言是否正确,或者我可以通过将一个大组件分成许多小组件来获得更好的性能吗?我在这个问题中包括 ReactJS 和 React Native。我认为它们在这方面是相同的,但如果它们不同,我想知道。

reactjs react-native react-native-android react-native-ios

7
推荐指数
1
解决办法
8289
查看次数

长文本通过本机反应将其他元素推离屏幕

我正在尝试使用 Flexbox 在 React-Native 中构建布局,但在文本很长时遇到了问题。我希望布局看起来像这样:

所需布局

但是,当蓝色文本变长时,它会将日期从屏幕右侧推开,如下所示:

在此处输入图片说明

我故意让文本停留在 1 行。我想要的是蓝色文本在不缩小文本的情况下尽可能多地展开。我是 RN 的新手,我在 CSS 方面的工作非常有限,所以我在做这样的事情方面没有太多经验。这是我的样式表代码:

const styles = StyleSheet.create({
  textContainer: {
    flex: 1
  },
  separator: {
    height: 1,
    backgroundColor: '#dddddd'
  },
  title: {
    fontSize: 25,
    fontWeight: 'bold',
    color: '#48BBEC'
  },
  subtitle: {
    fontSize: 20,
    color: '#656565'
  },
  dateContainer: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'flex-end'
  },
  rowContainer: {
    flexDirection: 'row',
    padding: 10
  }
});
Run Code Online (Sandbox Code Playgroud)

最后,我的布局代码:

<TouchableHighlight
    underlayColor='#dddddd'>
      <View style={styles.rowContainer}>
          <View  cstyle={styles.textContainer}>
            <Text numberOfLines={1} style={styles.title}>{rowData.name}</Text>
            <Text style={styles.subtitle}>{rowData.teacher}</Text>
          </View>
          <View style={styles.dateContainer}>
            <Text style={styles.subtitle}>{result}</Text>
          </View> …
Run Code Online (Sandbox Code Playgroud)

css layout flexbox react-native react-native-android

7
推荐指数
2
解决办法
4591
查看次数

react-native如何实现后台服务

在我的本机应用程序中,我需要一个后台服务来监听 Nfc 标签检测事件。我正在寻找一些像 android 后台服务一样工作的插件。

react-native-android

7
推荐指数
0
解决办法
366
查看次数

7
推荐指数
1
解决办法
2546
查看次数

在本机应用程序中为设备自动设置调试服务器主机和端口

有没有办法在本机应用程序中为设备自动设置调试服务器主机和端口?

我必须触发这个菜单并为我的应用程序设置一个代理,我希望它在应用程序安装时自动完成。那可能吗?

在此处输入图片说明

debugging react-native react-native-android react-native-debugger

7
推荐指数
1
解决办法
7799
查看次数

无法从“node_modules\react-native-gesture-handler\createHandler.js”解析“fbjs/lib/areEqual”

我正在使用 expo 构建一个 react-native 应用程序,但是,我有一个错误,因此我无法继续构建该应用程序。我什至在错误消息中提到的 node_modules 中查找文件。我正在使用 react-native-gesture-handler 进行屏幕导航。如果我卸载了 react-native-gesture-handler 并删除了导航代码,这会解决我的错误吗?我该如何解决?

应用程序.js

import React, { Component } from 'react';
import { StackNavigator } from 'react-navigation';
import Plan from './screens/Plan';
import Home from './screens/Home';


const AppNavigator = StackNavigator({
  PlanScreen: { screen: Home },
  HomeScreen: { screen: Plan }
});

export default class App extends Component {
  render() {
    return (
      <AppNavigator/>
    )
  }
}

Run Code Online (Sandbox Code Playgroud)

主页.js

import React, { Component } from 'react';
import { View, Text, Button, TextInput } from 'react-native'; …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-android react-native-navigation expo react-datepicker

7
推荐指数
2
解决办法
3265
查看次数

无法解析模块`stream`

这个错误突然开始出现。

Node : v10.16.3
React native : 0.60.5
react-native-cli: 2.0.1
Run Code Online (Sandbox Code Playgroud)

捆绑失败:错误:无法stream从/Users/username/React Native/SampleApp/node_modules/browser-stdout/index.js以下位置解析模块:模块stream在 Haste 模块映射中不存在

它给出了这一行的错误:

var WritableStream = require('stream').Writable
Run Code Online (Sandbox Code Playgroud)

我尝试通过 npm 安装“流”

npm install stream
Run Code Online (Sandbox Code Playgroud)

然后其他类似的错误开始出现。

npm react-native react-native-android

7
推荐指数
1
解决办法
3506
查看次数

Pure React Native 应用程序在以发布模式打开后在滑动时崩溃

我正在为我的纯RN 0.61.2应用程序使用React-Navigation。当我在调试模式下使用它时,该应用程序运行完美。但是,在发布模式下,当我尝试打开抽屉导航菜单或在选项卡菜单中向下滚动时,应用程序会立即崩溃。

依赖项:

...
  "dependencies": {
    "@react-native-community/async-storage": "^1.6.2",
    "@react-native-community/netinfo": "^4.4.0",
    "@react-native-community/slider": "^2.0.2",
    "react": "16.9.0",
    "react-native": "0.61.2",
    "react-native-admob": "^2.0.0-beta.6",
    "react-native-gesture-handler": "^1.4.1",
    "react-native-reanimated": "^1.3.0",
    "react-native-screens": "1.0.0-alpha.23",
    "react-native-vector-icons": "^6.6.0",
    "react-navigation": "^4.0.10",
    "react-navigation-drawer": "^2.2.2",
    "react-navigation-stack": "^1.9.3",
    "react-navigation-tabs": "^2.5.5"
  },
...
Run Code Online (Sandbox Code Playgroud)

我已经将这些代码行添加到android/app/build.gradle的依赖项中:

    implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'
Run Code Online (Sandbox Code Playgroud)

在 App.js 中,我试过

import {enableScreens} from 'react-native-screen';
enableScreens();
Run Code Online (Sandbox Code Playgroud)

并且

import {useScreens} from 'react-native-screen';
useScreens();
Run Code Online (Sandbox Code Playgroud)

用2.0.0-alpha.1,2.0.0-alpha.3和1.0.0-alpha.23版本react-native-screens。

然而,我仍然得到相同的结果:调试模式完美运行,释放模式在抽屉导航滑动或标签导航滚动后急剧崩溃。


我使用adb logcat并看到的解决方案 …

android react-native react-native-android react-native-navigation

7
推荐指数
0
解决办法
1295
查看次数

如何在 React Native 中旋转字体真棒图标?

在我的 React Native 应用程序中,我有一个很棒的字体图标。我想旋转它。需要帮助。

import React from 'react'
import { View  } from 'react-native';
import Icon from 'react-native-vector-icons/FontAwesome5';

const InfoBox = () => {
    return (
          <View >
            <Icon name={'hand-holding-usd'} size={20}/>
          </View>

    )
}

export default InfoBox;
Run Code Online (Sandbox Code Playgroud)

stylesheet react-native react-native-android font-awesome-5

7
推荐指数
1
解决办法
1万
查看次数

React Native StatusBar:黑暗内容不适用于android

我正在尝试将标题的颜色和状态栏的图标更改为黑色。因此,根据 react-native status-bar 文档,我将其设置barStyle为dark-content但没有任何变化。

<StatusBar barStyle="dark-content" backgroundColor={'white'} />

statusbar react-native react-native-android

7
推荐指数
2
解决办法
3366
查看次数