imgur tiene una característica interesante donde
¿Cómo está Imgur haciendo esto? Supongo que las cookies están involucradas de alguna manera, pero no estoy seguro.
$_SESSION para lograr estoEn Crear, guarde la identificación del recurso editable, en Procesar, si coincide, habilite la edición y restablezca la identificación editable guardada.
Puede falsificar la redirección, lo que significa mostrar la página de edición y poner la página de vista en la URL
al redirigir, configure una cookie: https://remix.run/docs/en/v1/api/remix#redirect
return redirect(`resource/$id`, { headers: { "Set-Cookie": `editable:$id`, }, });Luego, use la API de cookies para verificar esa cookie.
puede verificar el tipo de navegación. vea la respuesta de @Илья Зеленько en https://stackoverflow.com/a/53307588/14250290
los tipos que está buscando son reload y back_forward , probablemente también desee que suceda algo en el backend para evitar que un usuario malintencionado.
Otra opción sería enviar un token desde el backend cuando se realiza una publicación y, para editar una publicación, ese token exacto debería devolverse. Simplemente no guarde el token en nada que persista y en una actualización o en una nueva pestaña se encontrará.
Si no desea utilizar cookies o sesión, una forma de lograrlo es mediante useState. actualice el estado cuando se crea/sube la publicación a verdadero (inicialmente falso). Cuando el usuario actualice la página, ese estado será automáticamente falso porque el componente se representa en este momento. Nota: - Si no desea usar el estado, también puede usar redux para lograr esta solución. Después de eso, use ese estado o estado redux para habilitar/deshabilitar la capacidad de editar la publicación.