javascript - Problème Reactjs concernant le saut de this.context.router.push(path) dans la fonction
PHP中文网
PHP中文网 2017-07-05 11:04:52
0
3
1105

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
}
PHP中文网
PHP中文网

认证0级讲师

répondre à tous(3)
仅有的幸福

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 :

class Component extends React.Component{
    [有些人写static有些人又不写static] contentTypes: {
        router: React.PropTypes.object.isRequired
    }
    ...
    this.context.router.push(...)
}

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

class Component {
  constructor(props, context) {
    super(...arguments) // 这样才行,如果只写props, 会把context 弄丢,所以super时始终建议这么写
  }
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal