Font size
WorksheetsAPLICACIONES MOVILES II - PRACTICA
Total questions: 106
Worksheet time: 53mins
¿Qué componente se utiliza para mostrar texto en React Native?
View
Image
Button
Text
¿Cuál de estos componentes es ideal para envolver otros componentes?
TouchableOpacity
FlatList
View
Text
¿Qué propiedad del componente Image especifica la fuente de la imagen?
path
source
imageSrc
file
¿Qué componente se utiliza para hacer clic sobre un texto o imagen?
ScrollView
TouchableOpacity
View
TextInput
¿Qué componente permite la entrada de texto del usuario?
Button
InputText
TextField
TextInput
¿Qué propiedad de TextInput se usa para obtener su valor?
value
input
data
text
¿Cuál de los siguientes es un componente de scroll en React Native?
ScrollView
Image
Alert
TouchableHighlight
¿Qué componente muestra una lista de forma eficiente en React Native?
View
Text
FlatList
SafeAreaView
¿Cuál es el valor por defecto del estado al usar useState()?
0
false
Depende del valor inicial
¿Qué componente se usa para mostrar una imagen en React Native?
Text
FlatList
Button
Image
¿Qué propiedad se usa para aplicar estilos a un componente?
style
css
styles
design
¿Qué componente encapsula la pantalla en React Native?
View
Container
Div
Block
¿Cuál no es un componente nativo de React Native?
Button
Slider
TextView
Image
¿Cómo se alinea el contenido al centro verticalmente?
textAlign: 'center'
alignItems: 'center'
justifyContent: 'center'
align: 'middle'
¿Qué propiedad en View se usa para el fondo?
bgColor
background
backgroundColor
color
¿Qué hace el componente SafeAreaView?
Aplica sombra
Evita solaparse con la barra de estado
Agrega margen
Cambia el fondo
¿Cómo se usa un estilo en línea?
style="..."
style={{ color: 'red' }}
css="color:red"
styles="color: red"
¿Qué componente permite realizar scroll horizontal y vertical?
ScrollView
View
TextInput
Touchable
¿Qué propiedad evita que el teclado tape el contenido?
keyboardOffset
keyboardHides
keyboardAvoidingView
autoKeyboard
¿Qué es JSX en React Native?
Un navegador
Un plugin
Una extensión para CSS
Sintaxis similar a HTML para definir UI
¿Qué propiedad se usa para ocultar un componente?
display: 'none'
visible: false
opacity: 0
style={{ display: 'none' }}
¿Qué componente se recomienda para detectar gestos de usuario?
TouchableHighlight
Text
View
Alert
¿Qué propiedad de FlatList define los datos?
data
info
items
dataset
¿Qué propiedad se usa para cambiar el tamaño de fuente?
fontSize
size
textSize
font
¿Qué propiedad en Text hace el texto en negrita?
bold
fontWeight: 'bold'
strong
textStyle: 'bold'
¿Qué hace el componente ActivityIndicator?
Muestra una imagen
Carga datos
Muestra un spinner de carga
Notifica
¿Cuál no es una propiedad válida en un Button?
title
onPress
color
value
¿Qué tipo de archivo es típico para definir estilos en React Native?
.css
.scss
.jsx
.js
¿Qué tipo de archivo es típico para definir estilos en React Native?
css
scss
jsx
js
¿Cómo se define un estado con valor inicial en blanco?
useState("")
useState(null)
useState(0)
useState({})
¿Qué biblioteca se usa comúnmente para la navegación en React Native?
react-router
react-navigator
react-native-navigation
@react-navigation/native
¿Qué comando se usa para instalar React Navigation?
npm install react-navigation
npm install navigation-native
npm i @react-navigation/native
expo install react-navigator
¿Qué tipo de navegación usa pestañas en la parte inferior?
Drawer Navigator
Switch Navigator
Tab Navigator
Stack Navigator
¿Qué hook se usa para navegar programáticamente?
useMove
useRouter
useHistory
useNavigation
¿Qué componente se usa para navegación en pila?
NavigationStack
createStack
createStackNavigator
StackCreator
¿Qué propiedad define el nombre de una pantalla?
screen
title
route
name
¿Qué componente se usa para contener toda la navegación?
AppContainer
Router
NavigationWrapper
NavigationContainer
¿Qué tipo de navegación permite un menú lateral?
Tab Navigator
Drawer Navigator
Stack Navigator
Page Navigator
¿Qué función cambia de pantalla en Stack Navigator?
navigate
push
goTo
redirect
¿Qué propiedad define las pantallas dentro de un stack?
screens
pages
children
component={...}
¿Qué hook permite acceder a los parámetros enviados por navegación?
useParams
useRoute
getParams
useScreen
¿Cuál de estos se necesita instalar para navegación en pestañas?
react-native-screens
react-native-gesture-handler
react-native-tab-view
@react-navigation/bottom-tabs
¿Qué propiedad se usa para ocultar el encabezado en Stack Navigator?
noHeader
hideHeader
options={{ headerShown: false }}
displayHeader: false
¿Qué hook permite acceder al historial de navegación?
useHistory
useRoute
useNavigation
usePath
¿Cómo se navega hacia atrás en Stack Navigation?
navigateBack()
router.back()
goBack()
closeScreen()
¿Qué método reemplaza la pantalla actual?
replace
navigate
reset
goBack
¿Qué pantalla se muestra al iniciar si no se especifica otra?
Last
Splash
Inicio
Primera definida en el stack
¿Qué hook permite reiniciar el stack?
reset
goHome
startOver
clearStack
¿Qué paquete instala las dependencias de Gesture Handler?
react-native-gesture-handler
react-native-handler
expo-gesture
navigation-handler
¿Qué componente contiene las pantallas de Tab Navigation?
TabScreen
TabsView
Tab.Navigator
TabsWrapper
¿Qué propiedad cambia el icono en la pestaña?
icon
tabIcon
options={{ tabBarIcon: ... }}
tabOptions
¿Qué hook se usa para acceder al nombre de la pantalla actual?
useScreen
usePage
useRoute
getScreen
¿Qué tipo de navegación permite cambiar toda la pila?
reset
replace
redirect
clear
¿Qué propiedad se usa para cambiar el título de una pantalla?
title
screenTitle
navigationOptions
options={{ title: 'Texto' }}
¿Cuál es el propósito de initialRouteName?
Define el nombre del stack
Renombra las rutas
Elimina la primera ruta
Define la pantalla que se abre primero
¿Qué librería se instala con react-native-screens para mejorar el rendimiento?
react-performance
screen-manager
react-native-perf
react-native-safe-area-context
¿Qué opción define la animación entre pantallas?
screenTransition
stackAnimation
animation
options={{ animationEnabled: false }}
¿Qué se pasa como name en una pantalla del stack?
Nombre de componente
Nombre del archivo
ID
Identificador único de ruta
¿Qué componente permite navegación dentro de una pestaña?
Stack.Navigator
Drawer.Navigator
Route
Link
¿Qué tipo de base de datos es Airtable?
SQL
Relacional clásica
NoSQL
Híbrida tipo hoja de cálculo
¿Qué se necesita para usar Airtable desde React Native?
Driver de base de datos
Plugin móvil
API Key
Conexión directa
¿Qué protocolo utiliza Airtable para su API?
FTP
WebSocket
SOAP
HTTP/REST
¿Qué método se usa para obtener datos en Airtable?
PUT
POST
GET
PATCH
¿Qué identificador se necesita para acceder a una tabla específica?
Nombre del workspace
Token
Base ID
Campo clave
¿Dónde se encuentra el Base ID en Airtable?
En la URL de la base
En el nombre de la tabla
En configuración avanzada
No se puede ver
¿Qué librería facilita peticiones HTTP en React Native?
react-fetch
axios
api-connect
airtable.js
¿Cómo se crea un nuevo registro en Airtable?
Usando método GET
Con formulario
POST a la URL de la tabla con los campos
Desde consola
¿Qué formato debe tener la data enviada a Airtable?
XML
Texto plano
application/sql
application/json
¿Qué método se usa para actualizar parcialmente un registro?
GET
PUT
PATCH
INSERT
¿Qué clave contiene los campos de un registro en la API de Airtable?
data
columns
attributes
fields
¿Cómo se identifica un registro específico?
Por el nombre
Por posición
Por ID único del registro
Por orden de creación
¿Qué hace el método DELETE en la API de Airtable?
Reemplaza un registro
Muestra detalles
Borra un registro específico
Vacía la tabla
¿Qué cabecera se debe incluir en las peticiones HTTP?
Authorization: Bearer TU_API_KEY
Content-Token
X-Request-Key
Accept-Language
¿Cuál es la URL base general de la API de Airtable?
https://airtable.app/api
https://api.airtable.io
https://api.airtable.com/v0/
https://connect.airtable.net
¿Qué propiedad almacena el ID del registro devuelto por la API?
_id
key
recordId
id
¿Qué campo representa cada tabla en la API?
resource
tableId
table
itemSet
¿Qué código HTTP indica que un registro fue creado correctamente?
200
201
204
401
¿Qué librería nativa puede ayudar con fetch() en React Native?
axios
airtable.js
expo-network
fetch está integrada nativamente
¿Qué método se recomienda para leer muchos registros?
GET a la URL de la base + tabla
SELECT *
POST con filtro
PATCH con limit
¿Qué significa CRUD?
Copy, Run, Upload, Delete
Create, Read, Update, Delete
Code, Refresh, Undo, Debug
Create, Remove, Use, Deploy
¿Qué se requiere para consumir Airtable desde React Native?
Servidor intermedio
Base relacional
Conexión externa
Conexión vía HTTP usando API Key y Base ID
¿Cómo se actualiza un registro completamente?
Con GET
Con PUT
Con PATCH
Con POST
¿Cuál es el resultado de este código?
const [count, setCount] = useState(0);
useEffect(() => { setCount(5); }, []);
count siempre será 0
count iniciará en 5
count será 0 y luego 5
Error de estado
¿Cuál es la forma correcta de navegar a una pantalla llamada "Perfil"?
¿Qué hace este código?
const [text, setText] = useState("");
<TextInput onChangeText={setText} value={text} />
Muestra un botón
Captura texto pero no lo guarda
Guarda el texto ingresado
No hace nada
¿Qué hace este fragmento?
axios.get("https://api.airtable.com/v0/baseID/tabla", {
headers: { Authorization: `Bearer API_KEY` }
});
Envía un POST a Airtable
Obtiene registros de Airtable
Elimina una base
Crea un campo en Airtable
¿Qué retorna este useEffect?
useEffect(() => {
return () => console.log("Desmontado");
}, []);
Nada
Se ejecuta en montaje
Se ejecuta al desmontar el componente
Da error
¿Qué ocurre con este código?
<Text>{count}</Text>
<Button title="+" onPress={() => setCount(count + 1)} />
Muestra texto estático
Botón sin acción
Contador que incrementa
Contador que incrementa de dos en dos
¿Qué hace este código?
const response = await fetch(URL);
const data = await response.json();
Llama una función JSON
Envía datos en JSON
Obtiene y transforma respuesta JSON
Es async pero sin promesa
¿Qué ocurre al usar axios.post(...) con un body válido en Airtable?
Elimina un registro
Actualiza
Crea un nuevo registro
No tiene efecto
¿Cuál es la diferencia entre useState(0) y useState("0")?
Ninguna
Son lo mismo
El segundo es string
Son lo mismo solo cambia " "
¿Para qué sirve este código?
<FlatList data={datos} renderItem={({item}) => <Text>{item.nombre}</Text>} />
Crea un formulario
Muestra lista de datos
Conecta base de datos
Captura eventos
¿Qué devuelve este código?
<Text>{JSON.stringify(data)}</Text>
Nada
Texto plano
Imprime objeto como string
Error de parseo
¿Qué ocurre con await sin async?
Error de sintaxis
Funciona igual
Se ignora
Se ejecuta más rápido
¿Qué hace mal este código?
useEffect(() => {
fetchData();
});
Se ejecuta solo una vez
Está correcto
Se ejecuta en bucle infinito
No se ejecuta
¿Qué hace mal este código con Airtable?
axios.get("https://api.airtable.com/base/tabla", {
headers: {
"Authorization": "API_KEY"
}
});
Funciona bien
Falta método POST
Falta el prefijo 'Bearer' en el token
Está mal la URL
¿Cuál es el problema aquí?
<FlatList
data={datos}
renderItem={(item) => <Text>{item.nombre}</Text>}
/>
renderItem necesita destructuring
data debe ser un objeto
Text debe estar fuera
FlatList no sirve para arrays
¿Cuál es el error si se hace esto en un TextInput?
<TextInput value={valor} />
No tiene onChangeText, no puede actualizar
value debe ser boolean
TextInput no acepta props
Debe ser textValue
¿Qué ocurre si se usa setState(state) directamente sin función de callback?
Siempre actualiza bien
Da error de estado
Se ignoran cambios anteriores en operaciones encadenadas
React resuelve el estado acumulado
¿Cuál es la forma correcta de inicializar estado para un objeto con nombre y edad?
const [user, setUser] = useState("nombre", 25);
const [user, setUser] = useState({ nombre: "", edad: 0 });
const [user, setUser] = useState(["nombre", 0]);
const user = useState({ nombre: "", edad: 0 });
¿Cuál es el uso correcto del useEffect para ejecutar solo una vez al montar el componente?
useEffect(() => { cargarDatos(); }, []);
useEffect(() => { cargarDatos(); });
useEffect = () => { cargarDatos(); }
useEffect(() => cargarDatos(), [estado]);
¿Qué código elimina correctamente un registro en Airtable con Axios?
axios.delete(`https://api.airtable.com/v0/appID/tabla/rec123`, {
headers: { Authorization: "Bearer API_KEY" }
});
```
axios.remove(`https://airtable.com/v0/appID/tabla/rec123`, {});
axios.post(`https://api.airtable.com/tabla/rec123`, {
method: "delete"
});
axios.get(`https://airtable.com/delete/tabla/rec123`);
¿Qué código permite hacer un botón que al pulsarlo aumente en 1 el estado contador?
<Button title="Sumar" onPress={() => setContador(contador + 1)} />
<Button title="Sumar" onClick={() => contador++} />
<Button title="Sumar" setContador(contador + 1) />
<Button onPress={() => contador + 1} />
¿Cuál es el formato correcto para mostrar una lista usando FlatList?
<FlatList
items={lista}
renderItem={item => <Text>{item.nombre}</Text>}
/>
<FlatList
data={lista}
itemRender={item => <Text>{item.nombre}</Text>}
/>
<FlatList
data={lista}
renderItem={({ item }) => <Text>{item.nombre}</Text>}
/>
<FlatList
datos={lista}
renderItem={(item) => <Text>{item}</Text>}
/>
¿Cuál de los siguientes fragmentos actualiza correctamente el estado basándose en el valor anterior?
setContador(contador + 1);
setContador(prev => prev + 1
setContador(() => contador++);
setContador = contador + 1;
¿Cuál es la forma correcta de hacer un POST a Airtable usando Axios?
axios.post("https://api.airtable.com/v0/appID/tabla",
{ fields: { nombre: "Pedro" } },
{ headers: { Authorization: "Bearer API_KEY" } }
);
axios.push("https://api.airtable.com/v0/appID/tabla", { nombre: "Pedro" });
axios.post("https://airtable.com/appID/tabla", { nombre: "Pedro" });
axios.post("https://api.airtable.com/tabla", { body: "Pedro" });
