react-native库记录

react-native零散记录 — sundashan

  1. 导航栏 react-navigation、react-native-navigation各有千秋,看自己选择
  2. 蓝牙 react-native-ble-plx react-native-ble-manager react-native-bluetooth-serial 都可以看下,我用的是react-native-ble-plx,文档比较全面,同时适配安卓ios
  3. 录音 react-native-audio
  4. 播放音频 react-native-sound
  5. 播放视频 react-native-video
  6. 相机 react-native-camera
  7. 截图 react-native-view-shot
  8. 文字渐变 react-native-text-gradient 或者自己用svg的渐变写下,也很简单,[ 例子见最下方 ]
  9. 背景渐变 react-native-linear-gradient
  10. 边框阴影 安卓可以用属性elevation,或者react-native-cardview 说到这两个属性就要说到层级关系,比如,给边框加了阴影以后,再想在上面通过position: ‘absolute’加一层遮罩,这个时候就发现遮罩无效 注意:

    1. 如果只有zIndex没有elevation,那么zIndex大的在上层
    2. 如果两个组件都有elevation,那么elevation大的在上层
    3. 如果既有zIndex也有elevation,那么以elevation为准

    所以上面说的遮罩无效的问题,解决方法是在遮罩上也加上elevation

  11. 本地文件访问 react-native-fs
  12. 图表 victory-native: 文档非常全,可配置的属性很多很全,比如折线图的点是否突出显示、折线图的一段标红,比较推荐使用 react-native-echarts:好久之前更新的,安装的时候一直报错,就没用了 react-native-chart-kit: 图表不全,而且折线图上面的点我没找着怎么去掉,不符合我们的需求,去掉 react-native-svg-charts: 蛮好看的,也蛮好用的,可以看看 react-native-charts-wrapper: 忘了为啥没用它
  13. UI组件 NativeBase
  14. svg react-native-svg:注意事项:svg要进行transform变换,需要在进行变换的元素上面套一层G
  15. 图片相关

    1. 图片上传 react-native-image-picker
    2. 图片预览 react-native-image-zoom-viewer

文字渐变例子:

import { Svg, Rect, Defs, LinearGradient, Use, Stop, Text } from 'react-native-svg'
<Svg width="100" height="21" viewBox="0 0 100 21">
    <Defs>
        <LinearGradient
            id="Gradient"
            gradientUnits="userSpaceOnUse"
            x1="0"
            y1="0"
            x2="100"
            y2="0"
        >
            <Stop offset="0" stopColor={this.props.startColor} stopOpacity="1" />
            <Stop offset="1" stopColor={this.props.endColor} stopOpacity="1" />
        </LinearGradient>
        <Text
            id="Text"
            x="50"
            y="15"
            fontFamily="Verdana"
            fontSize="18"
            textAnchor="middle"
            >
        {this.props.value}
        </Text>
    </Defs>
    <Rect x="0" y="0" width="100" height="21" fill="#FFF" />
    <Use href="#Text" fill="url(#Gradient)" />
</Svg>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Native 是一款基于 JavaScript 的框架,可以帮助我们快速开发 iOS 和 Android 应用程序。如果你想将 React Native 集成进你的现有 iOS 项目中,可以按照以下步骤进行操作: 1. 创建一个新的 React Native 项目 首先,你需要在你的电脑上安装好 React Native 开发环境。接着,在终端中输入以下命令创建一个新的 React Native 项目: ``` npx react-native init MyReactNativeApp ``` 2. 将 React Native 项目中的 jsCodeLocation 文件复制到 iOS 项目中 在 React Native 项目的 ios 目录下,你会找到一个名为 MyReactNativeApp.xcodeproj 的 Xcode 项目文件。打开该文件,然后将 jsCodeLocation 文件夹中的 main.jsbundle 文件和 index.js 文件复制到你的 iOS 项目中。 3. 在 iOS 项目中添加 React Native 依赖 在你的 iOS 项目中,你需要添加以下依赖: - libRCTWebSocket.a - libfishhook.a - libcxxreact.a - libReact.a 你可以通过 CocoaPods 或手动添加的方式来完成此操作。如果你使用 CocoaPods,只需要在 Podfile 中添加以下代码: ``` pod 'React', :path => '../node_modules/react-native', :subspecs => [ 'Core', 'CxxBridge', 'DevSupport', 'RCTText', 'RCTNetwork', 'RCTWebSocket', 'RCTAnimation', 'RCTImage', 'RCTLinkingIOS', 'RCTSettings', 'RCTVibration', 'RCTActionSheet', 'RCTBlob', 'RCTGeolocation', 'RCTPushNotification', 'RCTStatusBar', 'RCTCameraRoll' ] ``` 然后在终端中运行以下命令: ``` pod install ``` 如果你手动添加,可以在 Build Phases 中添加以下: - libRCTWebSocket.a - libfishhook.a - libcxxreact.a - libReact.a 4. 在 iOS 项目中添加 React Native 模块 如果你想在 iOS 项目中使用 React Native 模块,你需要将其添加到你的 iOS 项目中。具体操作方式可以参考 React Native 官方文档中的说明。 5. jsCodeLocation 生成方式总结 在 React Native 项目中,你可以通过以下两种方式生成 jsCodeLocation: - 手动生成 在终端中输入以下命令: ``` react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios ``` 该命令会生成一个名为 main.jsbundle 的文件,该文件就是 jsCodeLocation。 - 自动更新 在 Xcode 项目中,你可以使用 RCTBundleURLProvider 类来动态生成 jsCodeLocation。该类会根据当前环境生成不同的 jsCodeLocation,例如在开发环境中,它会生成一个指向本地服务器的 jsCodeLocation。在生产环境中,它会生成一个指向发布的 jsCodeLocation。在使用 RCTBundleURLProvider 类之前,你需要先在 AppDelegate.m 文件中导入该类: ``` #import <React/RCTBundleURLProvider.h> ``` 然后,在 didFinishLaunchingWithOptions 方法中添加以下代码: ``` NSURL *jsCodeLocation; #ifdef DEBUG jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; #else jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"MyReactNativeApp" initialProperties:nil launchOptions:launchOptions]; ``` 以上代码会根据当前环境生成不同的 jsCodeLocation。在开发环境中,它会生成一个指向本地服务器的 jsCodeLocation。在生产环境中,它会生成一个指向发布的 jsCodeLocation。 以上就是将 React Native 集成进现有 iOS 项目中的过程记录。如果你想了解更多关于 React Native 的知识,可以参考 React Native 官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值