[JAVA] Einführung in React to Rails mit React-Rails

Hallo allerseits, diesmal zeige ich euch, wie man React to Rails mit einem Edelstein namens "React-Rails" einführt. Es gibt mehrere Möglichkeiten, React in Rails bereitzustellen, aber ich habe es gewählt, weil es wahrscheinlich einfach und üblich ist. Als Einschränkung hängt es von Rails ab, also denke ich, dass es dir gefällt oder nicht.

Auf das offizielle Dokument kann übrigens über die folgende URL zugegriffen werden. URL der React-Rails: https://github.com/reactjs/react-rails#server-side-rendering

Ich werde es gemäß dem folgenden Ablauf einführen.

--Prämisse

Annahme

(1) Eine App wurde bereits mit Rails-New erstellt. ② Verwenden Sie Schienen 5.0 oder höher

Einführung von Reaktionsschienen

Schreiben Sie Folgendes in die Gemfile.

gem 'webpacker'
gem 'react-rails'
$ bundle install
/*①*/ $ rails webpacker:install
/*②*/ $ rails webpacker:install:react
$ rails generate react:install

Beachten Sie, dass die Befehle ① und ② nur ausgeführt werden können, wenn Rails 5.0 oder höher ist!

Jetzt können Sie loslegen! !!

Komponente erstellen

Um React zu beschreiben, werden häufig Dateien in einem Verzeichnis namens Components erstellt. Es ist in Ordnung, es manuell zu erstellen, aber lassen Sie es uns gemäß der offiziellen Dokumentation erstellen. Führen Sie den folgenden Befehl im Terminal usw. aus.

$ rails g react:component HelloWorld greeting:string

Dann wird die folgende Datei erstellt.

app/javascript/components/HelloWorld.js


import React from "react"
import PropTypes from "prop-types"
class HelloWorld extends React.Component {
  render () {
    return (
      <React.Fragment>
        Greeting: {this.props.greeting}
      </React.Fragment>
    );
  }
}

HelloWorld.propTypes = {
  greeting: PropTypes.string
};
export default HelloWorld

Damit ist die Dateierstellung abgeschlossen.

Ausgabe im Blick

Lassen Sie uns den Inhalt von React aus der erstellten Komponente ausgeben.

app/views/posts/index.html.erb


<%= react_component('HelloWorld', greeting: 'Mike') %>

Sehen wir uns den Ausgabeinhalt im Browser an. Sie sollten "Gruß: Mike" sehen.

Neben dem Komponentenverzeichnis können Sie übrigens auch ein eigenes Verzeichnis erstellen. Führen Sie den folgenden Befehl aus.

$ rails g react:component my_subdirectory/HelloWorld greeting:string

Dann wurde die js-Datei unter dem Komponentenverzeichnis in dem zuvor ausgeführten Befehl erstellt, diesmal jedoch wie folgt.

app/javascript/my_subdirectory/HelloWorld.js


import React from "react"
import PropTypes from "prop-types"
class HelloWorld extends React.Component {
  render () {
    return (
      <React.Fragment>
        Greeting: {this.props.greeting}
      </React.Fragment>
    );
  }
}

HelloWorld.propTypes = {
  greeting: PropTypes.string
};
export default HelloWorld

Ich konnte eine js-Datei unter "my_subdirectory" erstellen, die im Befehl angegeben ist. Beschreiben Sie Folgendes, wenn Sie zur Ansicht aufrufen.

app/views/posts/index.html.erb


<%= react_component("my_subdirectory/HelloWorld", { greeting: "Hello from react-rails." }) %>

Wenn Sie Ihren Browser überprüfen, sollte "Begrüßung: Hallo von React-Rails" angezeigt werden.

Dies ist praktisch, da es mit der Methode react_component einfach aufgerufen werden kann. Ich habe es gerade vorgestellt, also werde ich damit herumspielen.

Abgesehen davon ist es heutzutage kälter geworden. Ich bin zu wütend und drücke mit meinen schaufensterpuppenartigen Händen auf die Tastatur. (Wenn Sie die Heizung einschalten, ja ...)

Vielen Dank für das Lesen bis zum Ende! !!

Recommended Posts

Einführung in React to Rails mit React-Rails
Einführung in Bootstrap in Rails 5
Einführung des vollständigen Kalenders in die Rails-Anwendung
Mit Docker auf Heroku bereitstellen (Rails 6, MySQL)
So erstellen Sie eine Rails 6-Umgebung mit Docker
[Rails] Einführung in jquery
[Rails] Einführung in das Gerät
Downgrade einer vorhandenen App, die mit Rails 5.2.4 erstellt wurde, auf 5.1.6
Einführung in Rspec mit Ruby on Rails x Docker
Einführung der New Relic to Rails App auf Heroku
Stellen Sie Rails mit AWS Copilot für ECS Fargate bereit
Ich möchte mit Firestore von Rails spielen
So erstellen Sie eine API mit GraphQL und Rails
Rails-Anfänger haben versucht, mit RSpec zu beginnen
[Rails] Einführung von pay.jp (von der Ansichtsanpassung bis zur Registrierung)
Versuchen Sie, das gemeinsame Layout mit Schienen zusammenzufassen
[Rails] Ich möchte CSS mit Webpacker laden
Mit Rails + Docker einfach Hallo Welt anzuzeigen
Einführung des Experten Nr. 15 zum Erstellen einer Bulletin-Board-API mit Zertifizierung und Autorisierung in Rails 6
Wie schreibe ich Rails
So pushen Sie mit Rails entwickelte Apps an Github
So löschen Sie ein mit Rails erstelltes new_record-Objekt
[Rails 6] Laufzeitfehler mit $ Rails s
So generieren Sie manuell ein JWT mit Knock in Rails
[Rails] Einführung von Active Hash
Einführung von Vue.js in Rails
Gerät mit Schienen handhaben
[Rails] Lernen mit Rails Tutorial
Ich möchte Benutzer mit Devise + OmniAuth bei Rails authentifizieren
[So fügen Sie ein Video mit Rails in haml ein]
So deinstallieren Sie Rails
[Rails] Umgang mit URL-Änderungen nach dem Rendern
Wir stellen vor: Rails6 + Bootswatch / Honoka
[Schienen] Test mit RSpec
Abfragen von Arrays in jsonb mit Rails + postgres
Süchtig nach dem Webpacker, der standardmäßig mit Rails 6 geliefert wird
Unterstützt Mehrsprachigkeit mit Rails!
So generieren Sie automatisch ein ER-Diagramm bei der Migration mit Rails 6
Festlegen von Umgebungsvariablen bei Verwendung von Payjp mit Rails
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 1
[Rails] Ich habe versucht, eine Mini-App mit FullCalendar zu erstellen
Ich möchte eine mit Rails 6 erstellte App an GitHub senden
Zurück zum Anfang Button nur mit Javascript gemacht (Rails, Haml)
Verwenden Sie Java, das in Android Studio enthalten ist, um React Native zu erstellen
Ich war süchtig danach, default_url_options mit der Einführung von Rails zu setzen
Eine Reihe von Schritten zum Erstellen von Ergebnissen für Portfolios mit Rails