de la fenêtre.scrollTo() à réagir composants?
Où dois-je mettre le window.scrollTo(0,0)
appel à un réagir composant?
J'ai essayé de le mettre directement en render
et j'ai aussi essayé componentDidUpdate
(attendre jusqu'à ce que tout est rendu), mais de toute façon le les barres de défilement toujours rester à la même position.
-- Edit --
Le problème a été CSS hauteur/dépassement de la fenêtre et le corps.
Voir: https://stackoverflow.com/a/18573599/1016383
Vous pouvez le mettre dans componentDidMount
OriginalL'auteur K.. | 2015-06-29
Vous devez vous connecter pour publier un commentaire.
Bien, fenêtre.scrollTo(0,0) serait toujours le stick vers le haut de la page.
Vous avez raison de dire que ce code devrait vivre dans la componentDidMount fonction, mais vous avez besoin de lui dire où pour faire défiler. Je trouve l'id de l'élément que vous souhaitez faire défiler et obtenir il y des coordonnées, que vous entrez dans la fenêtre.scrollTo et cela devrait fonctionner. Vous devrez peut-être obtenir la hauteur du composant et d'ajouter que cette dymamic valeur que vous avez obtenus.
0,0
de ne pas faire défiler vers le haut de la page et j'ai besoin des coordonnées d'un élément sur la page?et bien non, en fait, partout où cela est appelée, elle doit défiler vers le haut de la page. Alors, êtes-vous sûr de ce qui est appelé? avez-vous essayé une alerte sur votre componentDidMount fonction? J'ai pensé que vous étiez en train de faire défiler jusqu'à l'endroit où votre composant est situé.
elle est appelée, elle juste ne pas faire n'importe quoi.
stackoverflow.com/a/18573599/1016383 ce qui semblait être le problème ...
pourquoi doit-on vivre dans
componentDidMount
, et si vous vouliez seulement pour faire défiler après qu'une fonction a été appelée?OriginalL'auteur Chris Hawkes