En mi base de datos, hay archivos. cada archivo tiene la fila 'IS_DELETE', que muestra si este archivo se elimina o no.
Si la fila 'IS_DELETE' de un archivo es 0, significa que el escritor de la publicación no lo eliminó .
Si la fila 'IS_DELETE' de un archivo es 1, significa que el escritor lo eliminó .
Sin embargo, utilizo una solicitud GET para representar los elementos.
Hice el código para que puedas verlo claramente. ¡Podría estar mal escrito!
test = () => { const [files, setFiles] = useState([]); const getDetails = async () => { await get(`URL`) .then((res) => { setFiles(res) }) } useEffect=(() => { getDetails() },[]) return ( <> files.map((file) => ( <div> {file} </div> )) </> )}Con este código, renderizo cada archivo, aunque algunos archivos tienen '1' en su fila IS_DELETE.
Me pregunto si puedo obtener los elementos de la base de datos de forma condicional o si obtengo todos los archivos y filtro mi matriz usando una función particular.
FYI, obtengo los archivos en este formato.
[ {PK:1, NAME:'Hello.jpg', IS_DELETE: 0} {PK:2, NAME:'Nice.jpg', IS_DELETE: 1} {PK:3, NAME:'To.jpg', IS_DELETE: 0} ]Gracias. No soy bueno en inglés. Así que por favor sea comprensible.
¡Esperando tu sabiduría!
No, no puede modificar la respuesta que obtiene del servidor a menos que tenga específicamente un punto final para hacerlo. Es como enviar una carta y esperar la respuesta: no puede hacer que la respuesta sea diferente a menos que su destinatario le permita enviar una carta con una solicitud específica (p. ej., "Dame solo elementos no eliminados"), pero si no estás a cargo del servidor, lo único que puede hacer es filtrar los elementos que obtiene como respuesta.
const getDetails = async () => { await get(`URL`) .then((res) => { const filtered = res.filter(file => file.IS_DELETE === 0); setFiles(filtered); }) }puedes pasar el parámetro is_deleted en la url concatenar con el principal
{url}?is_deleted=0
mi idea es pasar el parámetro en la url como cadena de consulta y en el lado del servidor obtienes el valor y lo pones en la consulta de la base de datos
test = () => { const [files, setFiles] = useState([]); const getDetails = async () => { await get(`URL?is_deleted=0`) .then((res) => { setFiles(res) }) } useEffect=(() => { getDetails() },[]) return ( <> files.map((file) => ( <div> {file} </div> )) </> )}