Como puede ver en mi ejemplo de exposición de refrigerios aquí , estoy tomando el primer índice y el último índice de mi matriz con éxito. Estoy haciendo esto para poder agregar un borderRadius en la parte superior e inferior de mi vista. Eventualmente me gustaría tener una sección para usuarios en línea así como una sección para usuarios fuera de línea.
Quiero poder tomar el índice del primer usuario en línea en la matriz, independientemente de su posición en la matriz en general. Entonces, si los primeros tres índices tienen el estado de fuera de línea y el cuarto índice está en línea, quiero poder tomar ese cuarto índice porque es la primera vez que aparece un estado en línea.
Para mayor aclaración, si observa mi ejemplo, si el último índice de toda la matriz tuviera el estado de en línea, el borderRadius no se establecería. Si el primer índice de la matriz no tuviera el estado de en línea, no se establecería borderRadius.
tome el primer índice en toda la matriz independientemente del estado -> Necesito que este sea el primer índice en línea, no el primer índice en toda la matriz
else if(i == 0){ return ()tome el último índice en toda la matriz -> Necesito que este sea el último índice con el estado en línea, no el último índice en toda la matriz
if (i + 1 === List.length) { return ()Puede calcular el primer y el último índice antes de iterar en su lista de usuarios (consulte https://snack.expo.dev/83rFQLCrF )
const lastIndex = List.map(e => e.status).lastIndexOf('online'); const firstIndex = List.map(e => e.status).indexOf('online'); const renderList = (props) => { return List.map((item, i) => { /* grabs last index, I need to grab the last index with status online */ if (i === lastIndex) { // TO DO } /* grabs first index, I need to grab the first index with status online */ else if(i == firstIndex ){ // TO DO } else{ // TO DO } }); };