React.jsとMaterializeを使用したシンプルなウェブアプリケーションの開発


  1. プロジェクトのセットアップ:

    • React.jsプロジェクトを作成します。ターミナルまたはコマンドプロンプトで、以下のコマンドを実行します: npx create-react-app my-app
    • プロジェクトディレクトリに移動します: cd my-app
    • Materializeをインストールします: npm install materialize-css
  2. Materializeの設定:

    • index.jsファイルを開き、以下のimport文を追加します:
      import 'materialize-css/dist/css/materialize.min.css';
      import M from 'materialize-css/dist/js/materialize.min.js';
    • index.jsファイルの一番下に以下のコードを追加します:
      document.addEventListener('DOMContentLoaded', function() {
      M.AutoInit();
      });
  3. レイアウトの作成:

    • Reactコンポーネントを作成し、Materializeのグリッドシステムを使用してレイアウトを作成します。例えば、以下のようなコードを使用します:
      import React from 'react';
      function App() {
      return (
       <div className="container">
         <div className="row">
           <div className="col s12">
             <h1>Hello, Materialize!</h1>
           </div>
         </div>
       </div>
      );
      }
      export default App;
  4. Materializeのコンポーネントの使用:

    • MaterializeのコンポーネントをReactコンポーネント内で使用することができます。例えば、以下のようなコードを使用して、ボタンとモーダルを追加します:
      import React from 'react';
      import M from 'materialize-css';
      function App() {
      React.useEffect(() => {
       M.AutoInit();
      }, []);
      return (
       <div className="container">
         <div className="row">
           <div className="col s12">
             <h1>Hello, Materialize!</h1>
             <button className="btn">Click me</button>
             <a href="#modal1" className="modal-trigger">Open Modal</a>
           </div>
         </div>
         <div id="modal1" className="modal">
           <div className="modal-content">
             <h4>Modal Header</h4>
             <p>Modal Content</p>
           </div>
           <div className="modal-footer">
             <a href="#!" className="modal-close waves-effect waves-green btn-flat">Close</a>
           </div>
         </div>
       </div>
      );
      }
      export default App;

これらの手順を実行することで、React.jsとMaterializeを組み合わせたシンプルなウェブアプリケーションを開発することができます。このアプリケーションでは、Materializeのグリッドシステムを使用してレイアウトを作成し、さまざまなコンポーネントを追加しています。また、M.AutoInit()を使用することで、MaterializeのJavaScriptコンポーネントを初期化する必要があります。