作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在使用 Expo 时,react-native 生成的默认项目中的 App.js 中(具有不同屏幕的项目)。
嗯,在 App.js 中。
render() {
if (!this.state.isLoadingComplete && !this.props.skipLoadingScreen) {
return (
<AppLoading
startAsync={this._loadResourcesAsync}
onError={this._handleLoadingError}
onFinish={this._handleFinishLoading}
/>
);
} else {
return (
<View style={styles.container}>
{Platform.OS === 'ios' && <StatusBar barStyle="default" />}
{/* <Text>{User.nom}</Text> */}
<AppNavigator style={styles.container} />
</View>
);
}
}
_loadResourcesAsync = async () => {
return Promise.all([
Asset.loadAsync([
require('./assets/images/icon_llaurar.jpg'),
require('./assets/images/icon_podar.jpg'),
require('./assets/images/icon_ensofatar.jpg'),
]),
Font.loadAsync({
// This is the font that we are using for our tab bar
...Icon.Ionicons.font,
// We include SpaceMono because we use it in HomeScreen.js. Feel free
// to remove this if you are not using it in your app
'space-mono': require('./assets/fonts/SpaceMono-Regular.ttf'),
}),
]);
};
我真的不明白它的作用,或者如何使用加载的资源。我仍然需要导入所有屏幕上的每个资源才能使用它,所以我不知道如何处理它或它有什么作用。
另外,有人可以解释一下 ...Icon.Ionicons.font 行的作用吗?前面的三个点分别是什么?
提前致谢
最佳答案
第一件事:来自文档 AppLoading “(...)React 组件告诉 Expo,如果它是应用程序中渲染的第一个也是唯一一个组件,则保持应用程序加载屏幕打开。” .
关于资源缓存,您还可以阅读 Preloading & Caching Assets 的 expo 文档。Asset.loadAsync 会将每个 Assets 数据下载到设备缓存目录中的本地文件。
关于您提到的 ...,这是 Destructuring Assignment 的 JavaScript 表达式,这使得将数组中的值或对象中的属性解包为不同的变量成为可能。换句话说,可以理解 Icon.Ionicons.font 是一个数组或对象,在这种情况下,它的所有项目都将作为对象的直接属性传播,并作为参数传递给 Font.loadAsync()。
关于javascript - 我不明白如何使用它或它的作用,来自带有屏幕的 React Native Expo 默认项目的 _loadResourcesAsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52889009/
我是一名优秀的程序员,十分优秀!