赞
踩
最近在学习React Native跨平台开发,从零开始如何开发第一个基础应用并打包发布:
npx react-native init MyProject
对于Android:
npx react-native run-android
对于iOS:
npx react-native run-ios
打开App.js,替换默认内容,创建一个简单的Hello World组件:
import React from 'react';
import { View, Text } from 'react-native';
const App = () => {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text>Hello, React Native!</Text>
</View>
);
};
export default App;
import React from 'react'; import { View, Text, StyleSheet } from 'react-native'; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, }); const App = () => { return ( <View style={styles.container}> <Text style={{ fontSize: 20, color: 'blue' }}>Hello, React Native!</Text> </View> ); }; export default App;
假设我们想要使用react-native-vector-icons库来添加图标:
npm install react-native-vector-icons
npx react-native link react-native-vector-icons
import React from 'react';
import { View, Text } from 'react-native';
import Icon from 'react-native-vector-icons/Ionicons';
const App = () => {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Icon name="md-heart" size={32} color="#900" />
<Text style={{ fontSize: 20, color: 'blue' }}>Hello, React Native!</Text>
</View>
);
};
export default App;
为了在应用中实现页面间的跳转,我们可以使用react-navigation库。首先安装:
npm install @react-navigation/native
npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view
然后创建导航结构:
import React from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createStackNavigator } from '@react-navigation/stack'; import HomeScreen from './screens/HomeScreen'; import DetailsScreen from './screens/DetailsScreen'; const Stack = createStackNavigator(); const App = () => { return ( <NavigationContainer> <Stack.Navigator> <Stack.Screen name="Home" component={HomeScreen} /> <Stack.Screen name="Details" component={DetailsScreen} /> </Stack.Navigator> </NavigationContainer> ); }; export default App;
在screens
目录下创建HomeScreen.js
和DetailsScreen.js
,并编写相应的组件。
npm install axios
在组件中发送请求:
import React, { useState, useEffect } from 'react'; import axios from 'axios'; const HomeScreen = () => { const [data, setData] = useState([]); useEffect(() => { axios.get('https://jsonplaceholder.typicode.com/posts') .then(response => setData(response.data)) .catch(error => console.error(error)); }, []); return ( // 渲染数据 ); }; export default HomeScreen;
使用Redux或MobX进行状态管理。这里以Redux为例:
npm install redux react-redux
npm install @reduxjs/toolkit
创建store
、actions
和reducers
,然后在App.js
中设置Provider
:
import React from 'react';
import { Provider } from 'react-redux';
import store from './store';
const App = () => {
return (
<Provider store={store}>
{/* 其他代码 */}
</Provider>
);
};
export default App;
npm install react-native-reanimated
在组件中添加动画效果:
import React from 'react'; import { Animated, View, Text } from 'react-native'; import { interpolate } from 'react-native-reanimated'; const App = () => { const animatedValue = new Animated.Value(0); const opacity = interpolate(animatedValue, { inputRange: [0, 1], outputRange: [0, 1], }); const animatedStyle = { opacity, }; return ( <Animated.View style={[animatedStyle]}> <Text>Hello, React Native!</Text> </Animated.View> ); }; export default App;
2024年礼包:2500G计算机入门到高级架构师开发资料超级大礼包免费送!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。