Project Day 2-開発ログ

6950 ワード

- TODAY I LEARN 🎁


-学んだこと

  • ページスクロールを阻止する方法(開いたとき)
  • サスペンション時に特定UIを表示、非表示
  • 反応型ページベース
  • reactのstateを使用する必要なし:サスペンションイベント発生時に特定のUIを表示するにはサスペンションを使用します.
  • importに「none」と表示されます.navMenuLinkは、サスペンション時にDropdownをブロックにすることができます.このようにCSSが使えることを初めて知りました.stateを使用するのとは異なり、Dropdownコンポーネントは基本的にhtmlにあります.
  • // hover with css code
      <nav className={this.state.isVisible ? 'Nav active' : 'Nav hidden'}>
            <BreadCrumb />
            <div className='navWrapper'>
              <ul className='productsNavMenu'>
                <li className='navMenuItem'>
                  <Link className='navMenuLink>
                    SHOP
                  </Link>
    			// imported component
                  <Dropdown />
                </li>
    
    	... more code
            
     </nav>
    .navMenuItem {
            background-color: lightskyblue;
            margin-right: 20px;
            padding: 16px 0;
            .navMenuLink {
              display: block;
              &:hover {
                color: #0e0;
                transition: color 0.2s;
              }
            }
    // --------keypoint------------
             .Dropdown {
               display: none;
             }
             &:hover {
               .Dropdown {
                 display: block;
               }
             }
          }

    デフォルトでは、Hoverでのみdisplayプロパティが変化します.

    -知らない

  • model openがスクロールを阻止しようとするとreact内でstyleを操作しなければならないが、styleはreact内で操作しない基本ルールを無視している.サードパーティライブラリを使わずにbodyのスクロールを阻止することはできませんか?
  • -うまくやっている点と改善すべき点

  • よくできている:とにかく機能が現れている.
  • 改善すべき点
  • コードを再構築し、保守性を考慮する必要がある.
  • 実施に集中しているため、改造サイクルが延長される.refactoringサイクルを少し短縮することに気づきます
  • - Tody I Met Error 🌡

  • dropdownに似たsidebarを実現.このUIは、マウスがマウスによって特定の領域に移動されたときの表示を実現する.しかし、問題は、マウスが特定の領域からsidebarに移動する距離が約30 pxであることである.このため、カーソルを移動するとサイドバーが消えてしまいます.


  • - HOW TO FIX MY ERROR 💊

  • ERRORを解決するKEYWORD🔑
  • dropdown navbar in react🗝直接答えは得られないが、実装例ではHover(?)に遭遇する要素の幅と高さがあることを発見して、私のtarget要素にパッチを打って、要素とサイドバーの間隔を取り除きました.
  • prevent body scroll-スクロールを制御するため、30分ほどで得られるキーワードをGoogle化.最初はこう検索していましたㅠㅠ
  • 修正後のコード-上記のようにcssとreact stateで実現できる.stateを利用しました.Navbarメニューにpadding-top、padding-blottomを追加して問題を解決しました.共有できるコードはありませんダウンジャケットの面積はスカイブルーと同じ大きさと考えられます.marginは適用時に予想される効果を達成せず,従来のレイアウトが破壊された.


  • reference


    https://codepen.io/gitjul/pen/JMaqJo
    YouTube
    YouTube
    modal(popup)で外部(bodyまたはparentElement)のスクロールを阻止|bono blog
    In React, how to prevent body from scrolling when a modal is opened | by wwayne | Yet SH | Medium
    ブラウザウィンドウのサイズとスクロール