Je vous demande à tous des conseils.
J'ai créé un composant Component et écrit une fonction de saut similaire à this.context.router.push("/user/list") dans un rappel de réussite ajax. Dans le même temps, Component.contextTypes={ router: React.PropTypes.object.isRequired } est écrit en dehors du composant. La requête ajax a également réussi, mais la page n'a pas sauté, ce qui est un peu douteux. . .
La structure du code est similaire :
class Component extends React.Component{
...
success: function(data) {
alert(data);
this.context.router.push(...)
}
}
Component.contextTypes={
router: React.PropTypes.object.isRequired
}
Vous ne parvenez pas à obtenir cela ? Essayez d'utiliser success()->()
Ici, j'écrirai sur les pièges que j'ai rencontrés lors de la recherche de réponses sur Internet. Il s'agit également d'informer les débutants qui rencontrent des problèmes identiques ou similaires plus tard. Veuillez également demander aux gestionnaires de publication concernés de ne pas les supprimer :
Dans Component.contextTypes. , je l'ai trouvé. Quelqu'un l'a écrit à l'intérieur du composant de cette façon :
Cependant, lorsque je fais cela, j'ai toujours un problème ici, c'est-à-dire que l'erreur "Impossible de lire la propriété 'push' n'est pas définie" est signalée. Ce n’est pas évident pourquoi, écrivons-le d’abord
"Impossible de lire la propriété 'push' n'est pas définie"
Cette erreur garantit que contextTypes est écrit
et le constructeur ne perd pas le contexte lors de l'appel de super