小编ale*_*ngn的帖子

React Native + Redux基本身份验证

我正在寻找一种为我的react-native应用程序创建基本身份验证的方法.我找不到react-native app的任何好例子.

  • 要登录,应用程序会将电子邮件/密码+ clientSecret发送到我的服务器
  • 如果正常,则服务器返回accessToken + refreshToken
  • 用户已登录,所有其他请求包括具有accessToken的承载.
  • 如果accessToken过期,应用程序会自动请求一个带有refreshToken的新服务器.
  • 用户始终保持登录状态,状态应保存在手机中.

对此最好的方法是什么?

谢谢.

javascript authentication react-native redux

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

使用带有React-Native的zIndex样式将视图置于Modal之上

zIndex最近已经介绍了React-Native来改变View层堆栈中a的位置.

虽然,我无法将View一个Modal组件放在首位.

我的代码看起来像这样:

render() {
  return (
    <View>
      <Modal visible>
        {props.children}
      </Modal>
      <View style={{ zIndex: 1000 }}>
        <Text>Loading...</Text>
      </View>
    </View>
  );
}
Run Code Online (Sandbox Code Playgroud)

我想我可以停止使用<Modal>并创建一个<View>表现得像的常规动画Modal,但我宁愿找到另一个解决方案.

任何的想法?

javascript android ios react-native

18
推荐指数
2
解决办法
7940
查看次数

Android设备上需要React-Native和Intl polyfill

我最近更新了我的Android Studio和许多组件/ sdk,从那以后React-Intl抱怨intl库丢失,即使它之前工作正常.

我已经安装了intlpolyfill,我将它导入到我的主文件的最顶层App.js.我也导入localeDatareact-intl和添加.然后,我在IntlProvider指定locale没有消息的情况下渲染我的视图(我FormattedNumber现在只使用)

这是我的代码的简化版本:

import 'intl';
import { IntlProvider, FormattedNumber, addLocaleData } from 'react-intl';
import en from 'react-intl/locale-data/en';

addLocaleData(en);

[...]

render() {
    return (
        <IntlProvider locale="en">
            <Text>
                <FormattedNumber value={123} />
            </Text>
        </IntlProvider>
    )
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[React Intl]错误格式化编号.ReferenceError:尚未为此对象提供语言环境数据.

在此输入图像描述

我不明白发生了什么.有人遇到同样的问题吗?

谢谢

javascript android intl react-native react-intl

18
推荐指数
4
解决办法
7766
查看次数

在AngularJS中初始化时将全局函数和数据附加到$ rootScope

我希望在我第一次启动AngularJS应用程序时或每次刷新页面时都有一个"全局函数".

此函数将调用我的服务器$http.get()以获取使用我的应用程序所需的全局信息.我需要访问$rootScope此功能.在此之后,只有在此请求完成后,我才使用app.config$routeProvider.when()加载好的控制器.

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/', 
        {
            /**/
        });
}]);
Run Code Online (Sandbox Code Playgroud)

我不希望应用程序在此操作完成之前执行某些操作.所以我想我必须使用"解决方案",但我真的不知道如何使用它.

任何的想法?

谢谢!

javascript angularjs

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

有没有办法用React-Intl访问当前的语言环境?

我想知道是否有任何方法可以使用React-Intl访问当前设置的区域设置?

假设我创建了这个:

render() {
  return (
    <IntlProvider locale="en">
      <App>
    </IntlProvider>
  );
}
Run Code Online (Sandbox Code Playgroud)

在App中,我想做这样的事情,以便访问我传递给的语言环境 IntlProvider

this.props.locale
Run Code Online (Sandbox Code Playgroud)

有没有办法做那样的事情?

谢谢.

javascript reactjs react-native react-intl

16
推荐指数
2
解决办法
7591
查看次数

如何使用Jest,Enzyme for React-Native模拟单元测试中的事件

我正在试图弄清楚如何在React-Native应用程序中使用Jest测试"onPress"事件,这样我就可以确保调用正确的函数.

我浏览了文档和Google,但在React-Native中找不到它的解决方案.

这是我发现应该适用于React-Native的enzyme:

const mockFunc = jest.fn();
const component = mount(<MyComponent onPress={mockFunc} />);
component.simulate('press');
expect(mockFunc).toHaveBeenCalled();
Run Code Online (Sandbox Code Playgroud)

但这不起作用.似乎mount不起作用,我得到这个输出:

ReferenceError:未定义文档

我尝试使用shallow但是TouchableOpacity当我查看函数的输出时没有得到渲染...而你已经猜到了,它也不起作用.不知道该怎么办.

有没有人找到一种方法来测试React-Native上的事件?

谢谢

javascript unit-testing jestjs react-native enzyme

14
推荐指数
3
解决办法
9803
查看次数

在UIView中创建内部阴影

我想在我UIView的iPad 上创建一个内部阴影:

UIView带阴影

UIView可能会改变大小,所以我无法使用简单的图像来创建这种阴影.

我已经测试了setShadow等,但它只是一个创建的阴影.

知道怎么创造这种影子吗?

xcode objective-c ipad ios

12
推荐指数
2
解决办法
2万
查看次数

将匿名函数传递给onPanResponderMove

我有一个javascript问题,我不知道如何解决它.

在我的React Native应用程序中,我有一个panResponder,我正在使用这个钩子来调用Animated.event.

this.panResponder = PanResponder.create({
    /* ... some other methods ... */
    onPanResponderMove: Animated.event([null, { dx: this.state.x, dy: this.state.y }]),
});
Run Code Online (Sandbox Code Playgroud)

虽然,我希望钩子是一个匿名函数,以便能够做一些其他的事情.我尝试了一些不同的方式来使用匿名函数,但我不能让它工作.

this.panResponder = PanResponder.create({
    /* ... some other methods ... */
    onPanResponderMove: (event, gestureState) => {
        this.callSomething(); 
        return Animated.event([null, { /* I'm not sure what to pass here to map with gestureState... */ }]);
    },
});
Run Code Online (Sandbox Code Playgroud)

我已经阅读了文档,但即便如此,我仍然不知道.

你能帮我吗?

谢谢.

更新:

我终于做了类似的事情:

let valueY;
this.panResponder = PanResponder.create({
    /* ... some other methods ... */
    onPanResponderGrant: () => {
        valueY …
Run Code Online (Sandbox Code Playgroud)

javascript react-native

12
推荐指数
2
解决办法
3355
查看次数

Jest测试Animated.View for React-Native应用程序

我尝试Animated.View用Jest for React-Native 测试一个.当我设置属性visible为true,它应该从我的动画视图opacity 0opacity 1.

这是我的组件呈现的内容:

<Animated.View
    style={{
        opacity: opacityValue,
    }}
>
    <Text>{message}</Text>
</Animated.View>
Run Code Online (Sandbox Code Playgroud)

opacityValue当道具visible改变时,哪里得到更新:

Animated.timing(
    this.opacityValue, {
        toValue: this.props.visible ? 1 : 0,
        duration: 350,
    },
).start(),
Run Code Online (Sandbox Code Playgroud)

当我设置属性时,我想确保我的视图可见visible=true.虽然视图变得可见需要一些时间,但测试运行时,不透明度等于0.

这是我的测试:

it('Becomes visible when visible=true', () => {
    const tree = renderer.create(
        <MessageBar
            visible={true}
        />
    ).toJSON();
    expect(tree).toMatchSnapshot();
});
Run Code Online (Sandbox Code Playgroud)

我想知道如何让Jest等待?或者我如何测试这个以确保当我将道具设置为true时视图变得可见?

谢谢.

javascript unit-testing jestjs react-native

12
推荐指数
3
解决办法
5818
查看次数

无法编译 React Native iOS 应用以在物理设备上运行,React Native Firebase 出现问题

最近出于某种原因,我无法从 Xcode 甚至从命令行在物理设备上运行我的 React Native 应用程序。我收到以下错误:

duplicate symbol '_md5_block_data_order' in:
    /XXX/Library/Developer/Xcode/DerivedData/XXXX-bdrylwsxpcqgzvgkcljteyttcdmr/Build/Products/Debug-iphoneos/BoringSSL-GRPC/libBoringSSL-GRPC.a(md5.o)
    /XXX/project/ios/Pods/OpenSSL-Universal/ios/lib/libcrypto.a(md5_dgst.o)
ld: 1 duplicate symbol for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

但是它在模拟器上运行良好。我可以毫无问题地将应用程序上传到 AppStoreConnect。

据我了解,2 个库中似乎存在相同的符号。不知道为什么,很可能是移动应用程序依赖项之一。

在安装的 Pod 列表中,我同时拥有BoringSSL-GRPC (0.0.3)OpenSSL-Universal (1.0.2.19)

Firebase 使用 BoringSSL,Flipper 使用 OpenSSL。

这是我使用的第三方依赖项列表:

  pod 'Firebase/Core', '~> 6.3.0'

  pod 'Firebase/Messaging', '~> 6.3.0'

  pod 'Firebase/Firestore', '~> 6.3.0'

  pod 'Firebase/Auth', '~> 6.3.0'

  pod 'TrustKit'

  pod 'Stripe', '16.0.0'

  pod 'Amplitude-iOS', '~> 4.5'

  pod 'Intercom', '~> 5.5.1' …
Run Code Online (Sandbox Code Playgroud)

xcode ios firebase react-native react-native-firebase

12
推荐指数
2
解决办法
3867
查看次数