Necesito abrir un enlace a una nueva pestaña después de hacer algo de lógica.
Tengo un botón como este:
<Button onClick={handleSubmit} > Preview </Button>siendo handleSubmit():
const history = useHistory(); const handleSubmit = () => { console.log("doing something"); history.push("/some-link") } Como puede ver, con mi caso de uso no tendría sentido usar el componente Link .
Entonces, ¿hay alguna manera de enviar ese enlace a una nueva pestaña usando solo history.push()
El historial de React-router está destinado a usarse solo para la navegación de su aplicación y cierta persistencia. No puedo ver por qué necesita usarlo para abrir una nueva pestaña. Creo que deberías usar el objeto ventana para esto.
const handleSubmit = () => { console.log("doing something"); const win = window.open("/some-link", "_blank"); win.focus(); }ACTUALIZACIÓN: debido a algunos comentarios que confirman que no es necesario enfocar la nueva ventana, podemos acortar aún más esta solución, como:
const handleSubmit = () => { console.log("doing something"); window.open("/some-link", "_blank"); }