NEW
Font size
WorksheetsReact Native Session 04
Total questions: 22
Worksheet time: 11mins
"Props" trong React Native được ví von gần gũi nhất với cái gì?
Là "bộ não" của component, có thể tự thay đổi suy nghĩ.
Là "nội thất" trong một ngôi nhà, có thể tự sắp xếp lại.
Là "gen di truyền" mà component cha truyền cho component con, không thể tự thay đổi.
Là "quần áo" của component, có thể thay đổi bất cứ lúc nào.
Khi component cha muốn gửi một hàm cho component con để component con có thể gọi lại, nó sẽ gửi qua đâu?
Gửi qua State
Gửi qua một Event đặc biệt
Không thể gửi hàm qua được
Gửi qua Props
Điều gì sẽ xảy ra nếu bạn cố tình thay đổi giá trị của một prop ngay bên trong component con nhận nó (ví dụ: props.name = 'Tên mới')?
Component sẽ re-render với giá trị prop mới.
Ứng dụng sẽ chạy chậm hơn một chút.
React sẽ không cho phép và sẽ báo lỗi, vì props là "read-only" (chỉ đọc).
Không có gì xảy ra, giá trị vẫn giữ nguyên nhưng không báo lỗi.
Để truyền một đoạn text hoặc thậm chí một component khác vào giữa thẻ mở và thẻ đóng của component tự tạo, ta dùng prop đặc biệt nào?
props.content
props.data
props.innerComponent
props.children
Nếu một component cha không truyền một prop userName cho component con, nhưng component con cần một giá trị mặc định cho userName đó để không bị lỗi. Ta nên dùng cái gì?
Dùng if (props.userName === undefined) để kiểm tra
Bắt buộc component cha phải truyền
Dùng State để lưu giá trị mặc định
Dùng defaultProps để định nghĩa giá trị mặc định cho prop.
i gì?
Dùng if (props.userName === undefined) để kiểm tra
Bắt buộc component cha phải truyền
Dùng State để lưu giá trị mặc định
Dùng defaultProps để định nghĩa giá trị mặc định cho prop.
"State" trong React Native giống như cái gì nhất trong đời sống?
Một cuốn sách kiến thức, chỉ để đọc.
Một tờ giấy ghi chú công việc trong ngày, bạn có thể tự thêm, xóa, sửa.
Một bức thư đã được gửi đi, không thể thay đổi nội dung.
Một tấm bằng tốt nghiệp, giá trị không đổi theo thời gian.
Để cập nhật state trong một functional component, chúng ta làm gì?
Thay đổi trực tiếp giá trị của biến state (ví dụ: myState = 'giá trị mới').
Gọi hàm this.setState().
Gọi hàm setter mà hook useState trả về (ví dụ: setMyState('giá trị mới')).
React sẽ tự động cập nhật state khi có thay đổi.
Tại sao việc cập nhật state trong React được gọi là "bất đồng bộ" (asynchronous)?
Vì nó luôn chạy ngay lập tức.
Vì nó cần kết nối internet để cập nhật.
Vì React có thể nhóm nhiều lệnh cập nhật state lại với nhau để tối ưu hiệu năng, nên giá trị state không thay đổi ngay sau khi gọi hàm set.
Vì nó chỉ hoạt động vào ban đêm.
Khi hai component "anh em" (cùng cấp) cần chia sẻ và thay đổi chung một dữ liệu, phương pháp tốt nhất là gì?
Mỗi component tự tạo một state riêng rồi tìm cách đồng bộ.
Lưu dữ liệu vào một file tạm.
Dùng props để truyền dữ liệu qua lại giữa hai component.
"Nâng state lên" (Lifting State Up) cho component cha chung gần nhất của chúng.
Hook nào được sử dụng để tạo ra một "state" trong Functional Component?
useEffect
useContext
useReducer
useState
Trong React Native, sự kiện tương ứng với việc người dùng "chạm" vào một nút bấm là gì?
onClick
onHover
onTap
Trong React Native, sự kiện tương ứng với việc người dùng "chạm" vào một nút bấm là gì?
onClick
onHover
onTap
onPress
Khi người dùng gõ chữ vào một ô TextInput, sự kiện nào sẽ được kích hoạt liên tục sau mỗi lần thay đổi?
onInput
onKeyPress
onSubmitEditing
onChangeText
Giả sử bạn có một danh sách các sản phẩm, mỗi sản phẩm là một TouchableOpacity. Làm thế nào để khi bấm vào một sản phẩm, hàm xử lý biết được bạn đã bấm vào sản phẩm nào?
Dùng state để lưu lại sản phẩm vừa bấm.
Dùng một biến toàn cục để theo dõi.
So sánh tọa độ của cú click.
Truyền ID hoặc dữ liệu của sản phẩm đó vào hàm xử lý sự kiện, ví dụ: onPress={() => handlePress(product.id)}.
Sự khác biệt cơ bản giữa component và là gì?
không có sự kiện onPress.
không thể tùy chỉnh style.
có giao diện mặc định theo nền tảng (iOS/Android) và ít tùy chỉnh, trong khi cho phép tùy chỉnh cao và có hiệu ứng mờ đi khi nhấn.
chỉ dùng cho hình ảnh.
Để xử lý sự kiện khi người dùng nhấn nút "Enter" hoặc "Submit" trên bàn phím ảo khi đang nhập liệu trong TextInput, ta dùng prop nào?
onEndEditing
onBlur
onKeyboardSubmit
onSubmitEditing
"Controlled Component" (Component được kiểm soát) trong một form là gì?
Là một component không cho phép người dùng nhập liệu.
Là một component mà giá trị của nó luôn được điều khiển bởi state của React.
Là một component HTML chuẩn được dùng trong React Native.
Là một component có thể tự quản lý dữ liệu mà không cần state.
Trong một form đăng ký có ô "username" và "password", cách tốt nhất để quản lý dữ liệu người dùng nhập vào là gì?
Đọc trực tiếp giá trị từ TextInput khi người dùng nhấn nút "Đăng ký".
Mỗi TextInput tự quản lý giá trị của nó.
Lưu dữ liệu vào localStorage.
Sử dụng state để lưu giá trị của username và password, và cập nhật state mỗi khi người dùng gõ chữ.
Tại sao nên dùng "Controlled Component" thay vì để TextInput tự quản lý?
Vì nó giúp code chạy nhanh hơn.
Vì đó là cách duy nhất để lấy dữ liệu.
Vì nó giúp React trở thành "nguồn chân lý duy nhất" (single source of truth), dễ dàng validate dữ liệu, reset form, và điều khiển input một cách linh hoạt.
Vì nó bắt buộc theo quy định của React Native.
Để lấy giá trị văn bản mà người dùng nhập vào từ sự kiện onChangeText của TextInput, ta làm thế nào?
Sự kiện này không trả về giá trị, phải tự đọc từ component.
onChangeText trả về một đối tượng event, phải truy cập event.target.value.
onChangeText không tồn tại, phải dùng onChange.
Hàm xử lý sự kiện onChangeText sẽ nhận chính chuỗi văn bản mới đó làm tham số (ví dụ: (newText) => setUsername(newText)).
Bạn muốn tạo một form có nhiều ô nhập liệu (firstName, lastName, email). Thay vì tạo 3 hàm xử lý onChangeText riêng biệt, cách tối ưu hơn là gì?
Dùng một useEffect để theo dõi tất cả.
Không thể tối ưu được, bắt buộc phải viết 3 hàm.
Gộp cả 3 ô nhập liệu vào chung một state kiểu string.
Viết một hàm xử lý chung, sử dụng tên của input để quyết định sẽ cập nhật state nào. Ví dụ: handleInputChange(name, value).
