我正在寻找一种为我的react-native应用程序创建基本身份验证的方法.我找不到react-native app的任何好例子.
对此最好的方法是什么?
谢谢.
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,但我宁愿找到另一个解决方案.
任何的想法?
我最近更新了我的Android Studio和许多组件/ sdk,从那以后React-Intl抱怨intl库丢失,即使它之前工作正常.
我已经安装了intlpolyfill,我将它导入到我的主文件的最顶层App.js.我也导入localeData从react-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:尚未为此对象提供语言环境数据.
我不明白发生了什么.有人遇到同样的问题吗?
谢谢
我希望在我第一次启动AngularJS应用程序时或每次刷新页面时都有一个"全局函数".
此函数将调用我的服务器$http.get()以获取使用我的应用程序所需的全局信息.我需要访问$rootScope此功能.在此之后,只有在此请求完成后,我才使用app.config并$routeProvider.when()加载好的控制器.
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/',
{
/**/
});
}]);
Run Code Online (Sandbox Code Playgroud)
我不希望应用程序在此操作完成之前执行某些操作.所以我想我必须使用"解决方案",但我真的不知道如何使用它.
任何的想法?
谢谢!
我想知道是否有任何方法可以使用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)
有没有办法做那样的事情?
谢谢.
我正在试图弄清楚如何在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上的事件?
谢谢
我想在我UIView的iPad 上创建一个内部阴影:

这UIView可能会改变大小,所以我无法使用简单的图像来创建这种阴影.
我已经测试了setShadow等,但它只是一个创建的阴影.
知道怎么创造这种影子吗?
我有一个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) 我尝试Animated.View用Jest for React-Native 测试一个.当我设置属性visible为true,它应该从我的动画视图opacity 0来opacity 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时视图变得可见?
谢谢.
最近出于某种原因,我无法从 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) javascript ×8
react-native ×8
ios ×3
android ×2
jestjs ×2
react-intl ×2
unit-testing ×2
xcode ×2
angularjs ×1
enzyme ×1
firebase ×1
intl ×1
ipad ×1
objective-c ×1
reactjs ×1
redux ×1