Heim > Web-Frontend > js-Tutorial > So übergeben Sie in der Reaktion einen Wert an die Seite

So übergeben Sie in der Reaktion einen Wert an die Seite

coldplay.xixi
Freigeben: 2020-11-19 18:04:59
Original
4722 Leute haben es durchsucht

Die Methode zur Seitenwertübertragung in React: 1. Verwenden Sie die Methode [props.params], der Code lautet [] 2. Die Abfragemethode ist sehr einfach zu verwenden, ähnlich der get-Methode im Formular Die Parameter werden im Klartext übergeben.

So übergeben Sie in der Reaktion einen Wert an die Seite

Methode der Seitenwertübertragung in React:

1. props.params

Offizielles Beispiel Wenn wir den React-Router zum Definieren einer Route verwenden, können wir einen Pfad für angeben, und dann angeben, dass Platzhalter Parameter zum angegebenen Pfad übertragen können:

Definieren Sie zunächst die Route zur UserPage-Seite:

import { Router,Route,hashHistory} from 'react-router';
class App extends React.Component {
  render() {
    return (
        <Router history={hashHistory}>
            <Route path=&#39;/user/:name&#39; component={UserPage}></Route>
        </Router>
    )
  }
}
Nach dem Login kopieren

Geben Sie die oben genannten Parameter und einen Parameternamen an

Verwenden Sie:

import {Link,hashHistory} from &#39;react-router&#39;;
Nach dem Login kopieren

1. Linkkomponente zum Implementieren des Sprungs:

<Link to="/user/sam">用户</Link>
Nach dem Login kopieren

2. Verlaufssprung:

hashHistory.push("/user/sam");
Nach dem Login kopieren

Wenn die Seite zur UserPage-Seite springt, nehmen Sie den übergebenen Wert heraus:

export default class UserPage extends React.Component{
    constructor(props){
        super(props);
    }
    render(){
        return(<div>this.props.params.name</div>)
    }
}
Nach dem Login kopieren

Die obige Methode kann einen oder mehrere Werte übergeben, aber der Typ jedes Werts ist eine Zeichenfolge und ein Wenn es übergeben wird, können Sie das JSON-Objekt in einen String konvertieren und ihn dann übergeben. Konvertieren Sie den JSON-String in ein Objekt und nehmen Sie die Daten heraus :

<Route path=&#39;/user/:data&#39; component={UserPage}></Route>
Nach dem Login kopieren

Daten abrufen:

var data = {id:3,name:sam,age:36};
data = JSON.stringify(data);
var path = `/user/${data}`;
<Link to={path}>用户</Link>
hashHistory.push(path);
Nach dem Login kopieren

Sie können Parameter nur durch die Übergabe von Zeichenfolgen übergeben, wenn Sie auf diese Weise zur UserPage-Seite springen. Gibt es also eine andere Möglichkeit, Objekte statt nur Zeichenfolgen elegant direkt zu übergeben?

2. Die Abfragemethode ist sehr einfach zu verwenden, ähnlich der Get-Methode im Formular:

Zuerst die Route definieren:

var data = JSON.parse(this.props.params.data);
var {id,name,age} = data;
Nach dem Login kopieren
Get Daten:
<Route path=&#39;/user&#39; component={UserPage}></Route>
Nach dem Login kopieren

Abfragemethode Es kann jede Art von Wert übergeben werden, aber die URL der Seite wird auch durch den Abfragewert gespleißt. Es gibt also eine Möglichkeit, Daten ähnlich dem Formularbeitrag zu übergeben Methode, damit die übergebenen Daten nicht im Klartext übertragen werden?

3. Zustand

Die Zustandsmethode ähnelt der Post-Methode und die Verwendungsmethode ähnelt der Abfragemethode

Zuerst die Route definieren:

var data = {id:3,name:sam,age:36};
var path = {
  pathname:&#39;/user&#39;,
  query:data,
}
<Link to={path}>用户</Link>
hashHistory.push(path);
Nach dem Login kopieren

Daten abrufen:

var data = this.props.location.query;
var {id,name,age} = data;
Nach dem Login kopieren
Die Zustandsmethode kann weiterhin beliebige Datentypen übergeben und darf nicht im Klartext übertragen werden. Sie können die URL in der Adressleiste nach der Implementierung vergleichen, um den Unterschied zwischen den drei Wertübergabe-URLs zu beobachten

Das obige ist der detaillierte Inhalt vonSo übergeben Sie in der Reaktion einen Wert an die Seite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage