2017-05-24 3 views
1

Sagen wir, ich habe eine Komponente reagieren wieKann der Endbenutzer den Status einer reagierenden Komponente bearbeiten?

class User extends React.Component{ 
    constructor(props){ 
    super(props); 
    this.state={userId:""} 
    } 
    componentWillMount(){ 
    this.setState({userId: cookies.get('id')}); 
    } 
    componentHasMounted(){ 
    getSensitiveLoginData(this.state.userId); 
    } 
    render(){ 
    return <SomeSensitiveData/> 
    } 
} 

es für den Endverbraucher möglich wäre, die Komponente des Staates irgendwie bearbeiten? Könnte der Endbenutzer in diesem Szenario die Benutzer-ID des Status bearbeiten?

+9

Alles, was über die Dev-Tools zugänglich ist, kann bearbeitet werden. Traue niemals der Clientseite und validiere immer serverseitig. – Joseph

Antwort

3

Es ist wirklich einfach, den Zustand einer Komponente zu bearbeiten. Du brauchst keine Ninja-Fähigkeiten. Sie müssen lediglich die Erweiterung React Dev Tools in Chrome installieren.

Mit dieser Erweiterung wird bei jedem Öffnen der Entwicklungstools in Chrome eine neue Registerkarte mit dem Namen React angezeigt. Sie können das DOM wie in der Komponentenhierarchie von React angezeigt sehen. Außerdem können Sie jede Komponente einzeln überprüfen. Während Sie eine Komponente untersuchen, können Sie sie einfach über eine inline-editierbare GUI ändern.

Auch wenn es nicht für React Dev Tools war, gibt es immer Möglichkeiten für den Client, seine eigenen Daten zu manipulieren. Wie Joseph der Träumer in den Kommentaren sagte, ist die serverseitige Validierung immer ein Muss.

Verwandte Themen