小编Sud*_*Plz的帖子

如何在 react-native 中插入 Animated 值以生成布尔值或字符串?

我碰巧有一个从 -1 到 1 的动画,我想将这些值转换为以下 2 个字符串:

如果值为负,则为“上一个”

如果值为正,则为“下一步”

this.state.anim.interpolate({
    inputRange: [-1, 0, 1],
    outputRange: ['Previous','', 'Next'],
})
Run Code Online (Sandbox Code Playgroud)

问:我如何使用this.state.anim包含的值来决定我们是去下一个屏幕还是前一个屏幕。

更多信息:

this.state.anim从 a 接收它的值PanGesture,我也this.state.anim用于许多其他事情,所以在这里不使用它也是一种耻辱。

javascript animation reactjs react-native react-animated

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

将数据添加到FlatList总是显示第一个孩子

这是我们的FlatList,打个招呼:

<FlatList
    data={this.state.dates}
...
/>
Run Code Online (Sandbox Code Playgroud)

我们用以下日期输入:

this.state = {
    dates: [
        '21/06/2019',
        '22/06/2019',
        '23/06/2019',
    ]
};
Run Code Online (Sandbox Code Playgroud)

然后,当可见日期更改(onViewableItemsChanged)时,如果我们到达第一个项目(21/06/2019),则会添加数据,以便新状态变为:

dates: [
        '18/06/2019',
        '19/06/2019',
        '20/06/2019',
        '21/06/2019',
        '22/06/2019',
        '23/06/2019',
]
Run Code Online (Sandbox Code Playgroud)

问题:

我们之后预先考虑的数据,而不是仍然看到21/06/2019(这是在前面加上发生的日期),我们现在看到19/06/2019

这是因为在引擎盖下,21/06/2019以前是索引0,但在前缀之后,索引0对应于19/06/2019

我们想要什么:

我试图做到这一点,以便在添加数据后的一天保持不变

请不要告诉我使用,scrollToPosition因为这确实是黑客,而不是解决方案。有什么好办法解决这个问题吗?

谢谢

react-native react-native-listview react-native-flatlist

6
推荐指数
1
解决办法
472
查看次数

为什么我们需要在express.js服务器上使用代理,以便将webpack热重新加载服务器功能与react-routing结合起来

可选信息:我正在尝试使用marty.js构建此项目,而webpack dev服务器允许来自react-router的入口点,以便它不仅仅在\ path中工作.

因此,我正在整天研究这个堆栈溢出答案,我无法理解以下代码背后的逻辑以及为什么这个答案有效.

retozi回答:

我设置了一个代理来实现这个目标:

您有一个常规的快速网络服务器,可以在任何>路由上为index.html提供服务,除非它是资产路由.如果它是资产,请求将被代理到web-dev-server

您的反应热入口点仍将直接指向webpack开发服务器,因此热重新加载仍然有效.

假设您在8081上运行webpack-dev-server,在8080运行代理.

我的代码现在看起来像这样,但为了使其工作,我稍后将需要实现marty-express.为了实现我必须首先了解retonzis的答案.

express.js文件

要求

    'use strict';
    var express = require('express');
    var path = require('path');
    var logger = require('morgan');
    var bodyParser = require('body-parser');
    var config = require('../config.json');
    var webpack = require('webpack');
    var WebpackDevServer = require('webpack-dev-server');
    var proxy = require('proxy-middleware');
    var url = require('url');
Run Code Online (Sandbox Code Playgroud)

代理

    var app = express(); //our express instance

    // -------- my proxy----------------------


    app.use('/assets', proxy(url.parse('http://localhost:8081/assets')));//but why do we need …
Run Code Online (Sandbox Code Playgroud)

express reactjs react-router martyjs webpack-dev-server

5
推荐指数
1
解决办法
2593
查看次数

React-Native:如何缩放字体大小以支持Android和iOS中的许多不同分辨率和屏幕?

我试图在现有的许多不同屏幕上找到正确的字体大小,我遇到了很大的麻烦.

目前我有一个名为的辅助函数getCorrectFontSizeForScreen.

export function getCorrectFontSizeForScreen(currentFontSize){

  const maxFontDifferFactor = 6; //the maximum pixels of font size we can go up or

  if(Platform.OS === 'ios'){    //iOS part
    let devRatio = PixelRatio.get();
    this.fontFactor = (((screenWidth*devRatio)/320)*0.55+((screenHeight*devRatio)/640)*0.45)
    if(this.fontFactor<=1){
      return currentFontSize-float2int(maxFontDifferFactor*0.3);
    }else if((this.fontFactor>=1) && (this.fontFactor<=1.6)){
      return currentFontSize-float2int(maxFontDifferFactor*0.1);
    }else if((this.fontFactor>=1.6) && (this.fontFactor<=2)){
      return currentFontSize;
    }else if((this.fontFactor>=2) && (this.fontFactor<=3)){
      return currentFontSize+float2int(maxFontDifferFactor*0.85);
    }else if (this.fontFactor>=3){
      return currentFontSize+float2int(maxFontDifferFactor);
    }
  }else{    //Android part

    let scale = screenWidth/375;  //got this from the f8 facebook project

    this.fontFactor = (((screenWidth)/320)*0.65+((screenHeight)/640)*0.35)

    if(this.fontFactor<=1){   //for …
Run Code Online (Sandbox Code Playgroud)

android ios react-native react-native-android

5
推荐指数
1
解决办法
2419
查看次数

firebase 不总是通过 APNs 发送通知吗?

我注意到firebase文档说明如下:

如果提供了通知负载,或者将content_available 选项设置为true以将消息发送到 iOS 设备,则消息通过 APNs 发送,否则通过 FCM 连接服务器发送

有人可以解释一下这是什么意思吗?

我以为发送到 iOS 设备的所有推送通知,首先发送到Apple,然后由 Apple 转发到相应的设备,但这里暗示他们直接向设备发送消息?

当应用程序在 iOS 上关闭时,这甚至可能吗?

我很困惑,谢谢。

apple-push-notifications ios firebase firebase-cloud-messaging firebase-notifications

5
推荐指数
1
解决办法
1081
查看次数

如何在Android中实现React Native UI组件方法

我很清楚,对于本机本机模块,我们可以使用它@ReactMethod来导出一个方法并从JSX调用它,但是我们如何在react-native本机UI组件中做同样的事情呢?

在文档中我只看到@ReactProp被提及.如果@ReactMethod不起作用,如何从JSX访问我的本机UI组件的属性呢?(在iOS上,这可以在原生ui组件RCT_EXPORT_METHOD上完成,但在Android上是类似的可能吗?)

谢谢.

react-native react-native-android react-native-native-module react-native-native-ui-component

4
推荐指数
2
解决办法
1390
查看次数

我滚动之前,RecyclerView不会更新子级

I think I've read pretty much all the answers to all of the similar SO questions, and NONE of them seem to be working for me. It's driving me nuts, and I've spent too much time on this.

I'm implementing a RecyclerView here and I can't for the life of me update it's children. What happens is that after I update nothing changes on the screen, UNLESS I start scrolling. Once I scroll it updates perfectly.

This is my …

android android-recyclerview react-native recyclerview-layout react-native-android

3
推荐指数
1
解决办法
403
查看次数