核心组件
RN 没有 HTML 标签,用的是原生组件:View、Text、Image、TextInput、ScrollView、FlatList。样式是 JS 对象。
核心组件
- View:容器(类似 div)
- Text:文本(类似 span/p,必须用 Text 包文字)
- Image:图片(src 属性,网络图要写完整 URL)
- TextInput:输入框
- TouchableOpacity:可点击容器
- FlatList:高性能列表(重点)
样式
StyleSheet.create 定义;flexDirection 默认 column(和 Web 不同!);px 单位不用写,数字即可。
代码示例
import { View, Text, Image, TextInput, StyleSheet } from "react-native";
const App = () => {
return (
<View style={styles.card}>
<Image
source={{ uri: "https://example.com/logo.png" }}
style={styles.logo}
/>
<Text style={styles.name}>商品名称</Text>
<Text style={styles.price}>¥5.50</Text>
<TextInput
style={styles.input}
placeholder="请输入数量"
keyboardType="numeric"
/>
</View>
);
};
const styles = StyleSheet.create({
card: { padding: 16, backgroundColor: "#fff", borderRadius: 8, margin: 16 },
logo: { width: 80, height: 80, borderRadius: 8 },
name: { fontSize: 18, fontWeight: "600", marginTop: 8 },
price: { color: "#e53935", fontSize: 16, marginTop: 4 },
input: { borderWidth: 1, borderColor: "#ddd", borderRadius: 6, padding: 8, marginTop: 8 }
});
export default App;
📚 JavaScript 语法速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
| 写法 / 语法 | 作用 |
|---|---|
let x = 1; | 声明变量(可重新赋值) |
const y = 2; | 声明常量(不可重新赋值) |
var 已过时 | 旧式变量声明,建议用 let/const |
if (条件) { } else { } | 条件判断 |
for (let i = 0; i < n; i++) { } | 循环 |
while (条件) { } | 条件循环 |
function fn(a, b) { return a + b; } | 函数声明 |
const fn = (a) => a + 1; | 箭头函数 |
array.push(x) / pop() | 数组尾部添加 / 删除 |
array.map(fn) / filter(fn) | 数组映射 / 过滤 |
obj.key / obj["key"] | 访问对象属性 |
JSON.stringify(obj) | 对象转 JSON 字符串 |
JSON.parse(str) | JSON 字符串转对象 |
document.getElementById("id") | 按 id 取元素 |
document.querySelector("选择器") | 按选择器取第一个元素 |
element.textContent | 读写元素文本 |
element.innerHTML | 读写元素 HTML(慎用,防 XSS) |
element.addEventListener("click", fn) | 绑定事件 |
console.log(x) | 控制台输出(调试) |
setTimeout(fn, 1000) | 延迟执行(毫秒) |
window.location.href | 当前页面地址(可赋值跳转) |
localStorage.setItem("k", v) | 本地存储写入 |
localStorage.getItem("k") | 本地存储读取 |
new Promise((resolve, reject) => {}) | Promise 异步处理 |
async / await | 异步函数语法糖 |