组件

Props

图片属性

布局属性

position
width
zIndex
padding 单值
margin
overflow
maxHeight/Width
minHeight/Width
display
borderWidth
flex
flexDirection
flexGrow
flexShrink
flexBasis
flexWrap

阴影属性

shadowColor

Text属性

color
fontSize
fontWeight
lineHeight
textAlign
fontFamily
letterSpacing

View属性

border相关
opacity

核心组件

TextInput

Modal

ScrollView

记住 ScrollView 必须有一个确定的高度才能正常工作
ScrollView和FlatList应该如何选择?
FlatList会惰性渲染子元素,只在它们将要出现在屏幕中时开始渲染。

StatusBar

控制显示或隐藏
控制dark或light

FlatList

SectionList


Switch

View

Text

Image

VirtualizedList

FlatList和SectionList的底层实现

TouchableOpacity

TouchableHighlight

封装带触摸的元素

API

Core

Vibration

StyleSheet

Platform

Keyboard

Alert

Share

Transforms

Appearance

  1. const colorScheme = Appearance.getColorScheme();
  2. if (colorScheme === 'dark') {
  3. // 用户开启了暗色模式
  4. }

Dimensions

获取屏幕宽高

Hooks

useColorScheme

  1. import React from 'react';
  2. import { Text, StyleSheet, useColorScheme, View } from 'react-native';
  3. const App = () => {
  4. const colorScheme = useColorScheme();
  5. return (
  6. <View style={styles.container}>
  7. <Text>useColorScheme(): {colorScheme}</Text>
  8. </View>
  9. );
  10. };
  11. const styles = StyleSheet.create({
  12. container: {
  13. flex: 1,
  14. alignItems: "center",
  15. justifyContent: "center"
  16. },
  17. });
  18. export default App;

文档

网络

可以使用axios

React Native 还支持WebSocket

原生模块

JS 环境

ES6

ES8

Stage 3

Polyfills

浏览器

ES6

ES7

ES8

交互

动画
导航
手势

设计

样式

宽高

React Native 中的尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。

固定宽高
Flex 宽高
百分比宽高

Flexbox

https://reactnative.cn/docs/flexbox