同じページの別のreactコンポーネントへのリンク

志望者

私は現在、Reactを使用してWebサイトを作成しています。私の計画は、たとえばaboutセクションのように、ページ上の別のコンポーネントにリンクするボタンを備えたナビゲーションバーを用意することです。browserrouterでそれを行うにはどうすればよいですか?

ありがとう

サビール・アーメド

これは最も簡単なアプローチです。

class App extends React.Component {
  constructor(props) {
    super(props);
    this.main = React.createRef();
  }
  renderMain() {
    return (
      <div style={styles.component}>
        <div style={styles.home}>
          <h1>Home</h1>
        </div>
        <div style={styles.about} ref={this.main}>
          <h1>About</h1>
        </div>
      </div>
    );
  }
  handleScroll = e => {
    e.preventDefault();
    const main = this.main.current;
    window.scrollTo({
      top: main.offsetTop,
      left: 0,
      behavior: "instant"
    });
  };
  render() {
    return (
      <div className="App">
        <BrowserRouter>
          <div>
            <div style={styles.nav}>
              <Link style={styles.link} to="/">
                Home{" "}
              </Link>
              <Link style={styles.link} onClick={this.handleScroll} to="/about">
                About{" "}
              </Link>
              <Link style={styles.link} to="/contact">
                Contact{" "}
              </Link>
            </div>

            <Switch>
              <Route exact path="/" component={() => this.renderMain()} />
              <Route exact path="/contact" render={() => <h1>Contact Us</h1>} />
              <Route render={() => <h1>Page not found</h1>} />
            </Switch>
          </div>
        </BrowserRouter>
      </div>
    );
  }
}

実例を示すために、CodeSandboxで小さなデモを作成しました。

こちらをご覧くださいhttps//codesandbox.io/s/ovlq4lpqp9

お役に立てれば。

編集:上記のコードで示したように、スクロールするコンポーネントに「ref」を割り当てる必要があり、スクロールイベントはナビゲーションリンクからのonClickイベントで処理する必要があります。

私はあなたを助けるために私のcodesandboxデモ(上記のリンクを参照)を更​​新しました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

React:別のコンポーネントにリンクする方法(同じページで開く)

分類Dev

同じページの別のセクションへのリンク

分類Dev

同じページレイアウト内の別のコンポーネントに移動する

分類Dev

React NativeExpoアプリ-同じページに複数のコンポーネントをエクスポートする方法

分類Dev

個別に実行されている同じページ上の複数のKnockoutJsコンポーネント

分類Dev

Reactルーターの問題:Reactは同じページに2つのコンポーネントをレンダリングします

分類Dev

Angular2同じページに複数のコンポーネント

分類Dev

あるコンポーネント(ページ)から別のコンポーネント(別のページ)への転送

分類Dev

ルーターを使用したVue-単一ページのコンポーネントへのリンク

分類Dev

同じページで複数のReactコンポーネントを切り替える方法

分類Dev

Reactのページで同じコンポーネントを複数回使用すると、小道具が混在する

分類Dev

React.jsは同じクラスの2つのコンポーネントを区別しません

分類Dev

あるコンポーネントリンクから別のコンポーネントへのWebページの特定の部分へのAngular2ルーティング

分類Dev

同じページの段落へのリンク

分類Dev

同じページの別の部分にリンクする

分類Dev

React-Router-同じページへのリンクがページのアンマウントをトリガーしない

分類Dev

コンセントのない別のコンポーネントへのリンク

分類Dev

React:別のhtmlページのdivへのリンク

分類Dev

ReactJsで別のクラスコンポーネント/ページにリダイレクトする方法

分類Dev

異なるURLで同じコンポーネントへのReactルーティング

分類Dev

ボタンをクリックしてページを下にスクロールし、別のReactコンポーネントに移動します

分類Dev

既存のWebページへのReactを含める-複数のreactコンポーネント

分類Dev

別のコンポーネントへのReactコンポーネント呼び出しメソッド

分類Dev

同じタイプの複数のコンポーネントでページを反応させます。ボタンをクリックすると同じコンポーネントがさらに表示され、元のセットでの再レンダリングが防止されます

分類Dev

同じページにコンポーネントをreactでレンダリングする方法

分類Dev

Angular5の同じページにある複数のコンポーネント

分類Dev

別のコンポーネントへのReactJSonClickイベント

分類Dev

同じレベルで別のレンダリングを管理するコンポーネント

分類Dev

別々のページのVue.jsコンポーネント間の通信

Related 関連記事

  1. 1

    React:別のコンポーネントにリンクする方法(同じページで開く)

  2. 2

    同じページの別のセクションへのリンク

  3. 3

    同じページレイアウト内の別のコンポーネントに移動する

  4. 4

    React NativeExpoアプリ-同じページに複数のコンポーネントをエクスポートする方法

  5. 5

    個別に実行されている同じページ上の複数のKnockoutJsコンポーネント

  6. 6

    Reactルーターの問題:Reactは同じページに2つのコンポーネントをレンダリングします

  7. 7

    Angular2同じページに複数のコンポーネント

  8. 8

    あるコンポーネント(ページ)から別のコンポーネント(別のページ)への転送

  9. 9

    ルーターを使用したVue-単一ページのコンポーネントへのリンク

  10. 10

    同じページで複数のReactコンポーネントを切り替える方法

  11. 11

    Reactのページで同じコンポーネントを複数回使用すると、小道具が混在する

  12. 12

    React.jsは同じクラスの2つのコンポーネントを区別しません

  13. 13

    あるコンポーネントリンクから別のコンポーネントへのWebページの特定の部分へのAngular2ルーティング

  14. 14

    同じページの段落へのリンク

  15. 15

    同じページの別の部分にリンクする

  16. 16

    React-Router-同じページへのリンクがページのアンマウントをトリガーしない

  17. 17

    コンセントのない別のコンポーネントへのリンク

  18. 18

    React:別のhtmlページのdivへのリンク

  19. 19

    ReactJsで別のクラスコンポーネント/ページにリダイレクトする方法

  20. 20

    異なるURLで同じコンポーネントへのReactルーティング

  21. 21

    ボタンをクリックしてページを下にスクロールし、別のReactコンポーネントに移動します

  22. 22

    既存のWebページへのReactを含める-複数のreactコンポーネント

  23. 23

    別のコンポーネントへのReactコンポーネント呼び出しメソッド

  24. 24

    同じタイプの複数のコンポーネントでページを反応させます。ボタンをクリックすると同じコンポーネントがさらに表示され、元のセットでの再レンダリングが防止されます

  25. 25

    同じページにコンポーネントをreactでレンダリングする方法

  26. 26

    Angular5の同じページにある複数のコンポーネント

  27. 27

    別のコンポーネントへのReactJSonClickイベント

  28. 28

    同じレベルで別のレンダリングを管理するコンポーネント

  29. 29

    別々のページのVue.jsコンポーネント間の通信

ホットタグ

アーカイブ