réagir bouton onClick page de redirection
Je suis en train de travailler sur une application web à l'aide de Réagir et bootstrap. Quand il s'agit de l'application de bouton onClick, ça me prend du temps dur de laisser ma page de redirection vers un autre. si, après un href , je ne peux pas aller la page d'un autre.
Serait vous s'il vous plaît dites-moi est-il besoin de l'aide de réagir de la navigation ou d'autres pour naviguer sur la page à l'aide du Bouton onClick ?
import React, { Component } from 'react';
import { Button, Card, CardBody, CardGroup, Col, Container, Input, InputGroup, InputGroupAddon, InputGroupText, Row, NavLink } from 'reactstrap';
class LoginLayout extends Component {
render() {
return (
<div className="app flex-row align-items-center">
<Container>
...
<Row>
<Col xs="6">
<Button color="primary" className="px-4">
Login
</Button>
</Col>
<Col xs="6" className="text-right">
<Button color="link" className="px-0">Forgot password?</Button>
</Col>
</Row>
...
</Container>
</div>
);
}
}
Vous devez vous connecter pour publier un commentaire.
utilisation Réagir Routeur v4:
withRouter
?withRouter
. Il fonctionne parfaitement si je utiliser la même ressource, par exemple, il travaille pour la route/MyProfile
. Mais cela ne fonctionne pas lorsque j'utilise/MyProfile/edit
. Comment puis-je rediriger vers imbriquée de ressources?N'utilisez pas un bouton comme un lien. Au lieu de cela, utilisez un lien de style comme un bouton.
Un simple gestionnaire de clic sur le bouton, et la mise
window.location.hash
fera l'affaire, en supposant que votre destination est également au sein de l'application.Vous pouvez écouter le
hashchange
événement surwindow
, d'analyser l'URL que vous obtenez, appelthis.setState()
, et vous avez votre propre routeur simple, pas de bibliothèque nécessaires.location.hash
, qui ne cause pas un rechargement de la page.J'ai essayé de trouver une façon de Rediriger, mais a échoué. La redirection onClick est plus simple qu'on ne le pense. Il suffit de placer la base suivantes JavaScript dans votre onClick function:
Cela peut être fait très simplement, vous n'avez pas besoin d'utiliser une autre fonction ou d'une bibliothèque pour elle.
Un moyen très simple de le faire est par le texte suivant:
et pour la fonction:
finlay vous avez besoin d'importer withRouter:
et de l'exporter en tant que:
À Réagir Routeur v5.1: