Cơ BảnReact Native iconReact Native

Vì sao mọi text trong RN phải nằm trong `<Text>`?

Trên iOS và Android, string không phải là một loại view. UIView không biết cách render ký tự — chỉ UILabel/TextView mới làm được. RN buộc bạn bao text trong <Text> để binding sang đúng native component.

Nếu viết <View>Hello</View>, RN throw runtime error: "Text strings must be rendered within a <Text> component." Trên web, <div>Hello</div> chạy được vì DOM cho phép text node bất cứ đâu.

Khác biệt phụ kéo theo:
- Style font, color, lineHeight chỉ áp dụng được trên <Text> — set trên <View> không có tác dụng.
- <Text> lồng trong <Text> thì kế thừa style cha (giống <span> trong <p>); nhưng <Text> lồng trong <View> thì không kế thừa.
- numberOfLines, ellipsizeMode chỉ tồn tại trên <Text>.

Xem toàn bộ React Native cùng filter theo level & chủ đề con.

Mở danh sách React Native