Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

170
Views
Parámetros de envío de React Native entre el encabezado del cajón y la pantalla específica usando el ícono del encabezado

Estoy comenzando con React Native y me gustaría abrir un campo de búsqueda de entrada en una pantalla específica para filtrar algunos resultados que se muestran en esa pantalla usando el ícono de encabezado derecho (ícono de búsqueda).

Pude usar initialParams en Drawer.Screen y puedo console.log ese parámetro en la pantalla de resultados cuando se carga la pantalla. Simplemente no sé cómo pasar este parámetro nuevamente (como true ) cuando hago clic en el ícono del encabezado que ya está en la pantalla de resultados.

app.routes.tsx:

 const Drawer = createDrawerNavigator(); export function AppRoutes() { const [openFilter, setOpenFilter] = useState(false); return( ... <Drawer.Screen name="Results" component={Home} initialParams={{ openFilter: openFilter }} options={{ headerRight: ({}) => ( <BorderlessButton onPress={() => { setOpenFilter(true); console.log(openFilter); }} > <Feather name="search" size={24} color={theme.colors.heading} style={{ marginRight: 15 }} /> </BorderlessButton> ), }} />; }

Inicio.tsx:

 export function Home({ route }: any) { const openFilter = route.params.openFilter; console.log(openFilter); const [filter, setFilter] = useState(false); // I would manage filter to be true return( ... {filter && <View style={{ marginBottom: 24, paddingHorizontal: 10 }}> <TextInput style={{ borderBottomColor: 'white', borderBottomWidth: 1 }} /> </View> } ...

Creo que si convierto openFilter en true haciendo clic en el ícono del encabezado, puedo mostrar el texto de entrada. ¿Debo volver a renderizar la pantalla de resultados?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Encontré un método de navigation que estaba usando para administrar la navegación entre pantallas y puedo enviar cualquier parámetro con él:

 const Drawer = createDrawerNavigator(); export function AppRoutes() { const navigation: any = useNavigation(); const [openFilter, setOpenFilter] = useState(false); return( ... <Drawer.Screen name="Results" component={Home} initialParams={{ openFilter: openFilter }} options={{ headerRight: ({}) => ( <BorderlessButton onPress={() => { navigation.setParams({ openFilter: openFilter}); // here is the method from navigation }} > <Feather name="search" size={24} color={theme.colors.heading} style={{ marginRight: 15 }} /> </BorderlessButton> ), }} />; }

Y ahora puedo obtener openFilter o cualquier otro parámetro en la pantalla de inicio.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!