2017-10-11 3 views
0

Ich frage mich, was der beste Weg ist, Daten, die von PHP von einem MySQL-Server abgerufen wurde, an eine React-Komponente zu übergeben. Momentan ist der einzige Weg, den ich kenne, einfach die Variable in den Prop-Wert zu übertragen, aber ich denke, dass es sicherlich einen besseren Weg geben muss, da es sich sehr hacky anfühlt.PHP-Daten an ReactJS übergeben

Ich bin neu in React und habe nach einer API gesucht, um sie zu benutzen, aber ich konnte sie nicht finden (falls sie existiert). Ich habe auch in der React-Dokumentation nachgesehen, aber es gibt auch keine Informationen.

Unten finden Sie ein sehr einfaches Beispiel dafür, was ich bisher getan:

<?php 
class User { 
    //Name returned from mysql query. 
    public $name = "Steve"; 
} 

$user = new User; 
?> 

<!DOCTYPE html> 
    <body> 
     <div id="greeting-div"></div> 
    </body> 
</html> 

Und meine Reaktion Komponente das sieht aus wie gerade:

var Greeting = React.createClass({ 
    render: function() { 
     return (
     <p>Hello, {this.props.name}</p> 
    ) 
    } 
    }); 

    ReactDOM.render(
    <Greeting name="<?php echo json_encode($user->name); ?>"/>, 
    document.getElementById('greeting-div') 
); 

Gibt es eine bessere Art und Weise zu tun es oder ist das der richtige Weg?

Antwort

1

können Sie eine Variable hinzufügen, wie diese

<!DOCTYPE html> 
    <script> 
    var name = "<?php echo json_encode($user->name); ?>"; 
    </script> 
    <body> 
     <div id="greeting-div"></div> 
    </body> 
</html> 

und bearbeiten JS-Datei wie diese

namens "name"
ReactDOM.render(
    <Greeting name={name}/>, 
    document.getElementById('greeting-div') 
); 
Verwandte Themen