[JAVA] Présentation de React to Rails avec react-rails

Salut à tous, cette fois je vais vous montrer comment introduire React to Rails en utilisant un joyau appelé "react-rails". Il existe plusieurs façons de déployer React dans Rails, mais je l'ai choisi car c'est probablement facile et courant. En guise de mise en garde, cela dépend de Rails, donc je pense que vous l'aimez ou non.

À propos, le document officiel est accessible à partir de l'URL suivante. URL de react-rails: https://github.com/reactjs/react-rails#server-side-rendering

Je vais l'introduire selon le flux suivant.

--Prémisse --Introduction de react-rails --Créer un composant

supposition

(1) Une application a déjà été créée avec rails-new. ② Utilisez les rails 5.0 ou version ultérieure

Introduction de react-rails

Écrivez ce qui suit au bas du Gemfile.

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

Notez que les commandes ① et ② ne peuvent être exécutées que si rails est 5.0 ou supérieur!

Vous êtes maintenant prêt à partir! !!

Créer un composant

Pour décrire React, il est courant de créer des fichiers dans un répertoire appelé composants. Vous pouvez le créer manuellement, mais créons-le selon la documentation officielle. Exécutez la commande suivante dans le terminal, etc.

$ rails g react:component HelloWorld greeting:string

Ensuite, le fichier suivant sera créé.

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

Ceci termine la création du fichier.

Sortie en vue

Sortons le contenu de React à partir du composant créé.

app/views/posts/index.html.erb


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

Voyons le contenu de sortie dans le navigateur. Vous devriez voir "Greeting: Mike".

En passant, en plus du répertoire des composants, vous pouvez également créer votre propre répertoire. Exécutez la commande suivante.

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

Ensuite, le fichier js a été créé sous le répertoire des composants dans la commande exécutée précédemment, mais cette fois, ce sera comme suit.

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

J'ai pu créer un fichier js sous "mon_sous-répertoire" spécifié dans la commande. Lorsque vous appelez pour visualiser, décrivez ce qui suit.

app/views/posts/index.html.erb


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

Si vous vérifiez votre navigateur, vous devriez voir "Salutations: Bonjour de react-rails."

C'est pratique car il peut être facilement appelé avec la méthode react_component. Je viens de le présenter, donc je vais jouer avec.

En passant, il fait plus froid ces jours-ci. Je suis trop en colère et frappe le clavier avec ma main en forme de mannequin. (Si vous allumez le chauffage, ouais ...)

Merci d'avoir lu jusqu'au bout! !!

Recommended Posts

Présentation de React to Rails avec react-rails
Présentation de Bootstrap à Rails 5
Présentation du calendrier complet à l'application Rails
Déployer sur heroku avec Docker (Rails 6, MySQL)
Comment créer un environnement Rails 6 avec Docker
[Rails] Présentation de jquery
[Rails] Présentation du dispositif
Rétrograder une application existante créée avec les rails 5.2.4 vers 5.1.6
Présentation de Rspec avec Ruby on Rails x Docker
Présentation de l'application New Relic to Rails sur Heroku
Déployer des rails sur ECS Fargate avec AWS Copilot
Je veux jouer avec Firestore de Rails
Comment créer une API avec GraphQL et Rails
Les débutants de Rails ont essayé de se lancer avec RSpec
[Rails] Introduction de pay.jp (de la personnalisation de la vue à l'enregistrement)
Essayez de résumer la disposition commune avec des rails
[Rails] Je veux charger du CSS avec webpacker
Facile à afficher Hello World avec Rails + Docker
Introduction de l'expert n ° 15 pour créer une API de tableau d'affichage avec certification et autorisation dans Rails 6
Comment écrire des rails
Comment pousser une application développée avec Rails vers Github
Comment supprimer un objet new_record construit avec Rails
[Rails 6] Erreur d'exécution avec $ rails s
Comment générer manuellement un JWT avec Knock in Rails
[Rails] Présentation de Active Hash
Présentation de Vue.js à Rails
Manipuler le dispositif avec des rails
[Rails] Didacticiel Apprendre avec les rails
Je souhaite authentifier les utilisateurs auprès de Rails avec Devise + OmniAuth
[Comment insérer une vidéo dans un hameau avec Rails]
Comment désinstaller Rails
[Rails] Comment gérer les modifications d'URL après le rendu
Présentation de Rails6 + Bootswatch / Honoka
[Rails] Test avec RSpec
Comment interroger Array dans jsonb avec Rails + postgres
Accro au Webpacker fourni en standard avec Rails 6
Prend en charge la multilinguisme avec Rails!
Comment générer automatiquement un diagramme ER lors de la migration avec Rails 6
Comment définir des variables d'environnement lors de l'utilisation de Payjp avec Rails
Tutoriel pour créer un blog avec Rails pour les débutants Partie 1
[Rails] J'ai essayé de créer une mini application avec FullCalendar
Je veux pousser une application créée avec Rails 6 vers GitHub
Bouton Retour en haut réalisé uniquement avec Javascript (rails, haml)
Utilisez Java inclus avec Android Studio pour créer React Native
J'étais accro à la configuration de default_url_options avec l'introduction de la conception de Rails
Une série d'étapes pour créer des livrables pour les portefeuilles avec Rails