簡體   English   中英

來自“react-router-dom”的鏈接在內部不起作用<div>

[英]Link from 'react-router-dom' does not work inside <div>

請不要標記重復。 我通讀了很多答案,但沒有一個解決了問題!

當我用<Link></Link>包裝我的組件時,一切正常。 但是當我用<div></div>包裹組件並將<Link>帶入組件時<Link>停止工作。

<Link>作品:

//here <Link to='candidate-info' className={styles["candidate-info"]}>
         <div className={`${styles["container"]} ${i === 1 ? styles["selected"] : ''}`}>
          <div className="card" style={{ width: '18rem', minHeight: '21.875rem' }}>
            <div className={styles["image-container"]}>
              <img src="/uploads/profile.jpeg" className="card-img-top fluid" alt="..." />
            </div>
            <div className="card-body">
              <h5 className="card-title">{`${candidate.name} ${candidate.surname}`}</h5>
              <p className="card-text">{candidate.motto}</p>
            </div>

            <div className={`card-body ${styles["button-container"]}`}>
              <button className="btn btn-sm btn-primary">Vote</button>

              <button className="btn btn-sm btn-info">More info</button>

            </div>
          </div>


          <div className={styles["overlay"]}>
            <div className={styles["icon"]} title="User Profile">
              <i className="fa fa-check"></i>
            </div>
          </div>
        </div>
      </Link>

<Link>不起作用:

      <div to='candidate-info' className={styles["candidate-info"]}>
        <div className={`${styles["container"]} ${i === 1 ? styles["selected"] : ''}`}>
          <div className="card" style={{ width: '18rem', minHeight: '21.875rem' }}>
      //here <Link className={styles["image-container"]}>
               <img src="/uploads/profile.jpeg" className="card-img-top fluid" alt="..." />
             </Link>
            <div className="card-body">
              <h5 className="card-title">{`${candidate.name} ${candidate.surname}`}</h5>
              <p className="card-text">{candidate.motto}</p>
            </div>

            <div className={`card-body ${styles["button-container"]}`}>
              <button className="btn btn-sm btn-primary">Vote</button>
      //here  <Link to='candidate-info'>
                <button className="btn btn-sm btn-info">More info</button>
              </Link>
            </div>
          </div>


          <div className={styles["overlay"]}>
            <div className={styles["icon"]} title="User Profile">
              <i className="fa fa-check"></i>
            </div>
          </div>
        </div>
      </div>

App.js(以防萬一)

import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'
import { Container } from 'react-bootstrap'

function App() {
  return (
    <Router>
      <main className='py-3'>
        <Container>
          <Route path='/login' component={LoginPage} />
          <Route path='/voting-summary' component={VotingSummary} />
          <Route path='/candidate-info' component={CandidateInfoPage} exact />
          <Route path='/register-candidate' component={registerCandidates} />
          <Route path='/register-voter' component={registerVoter} />
          <Route path='/' component={MainPage} exact />
        </Container>
      </main>
    </Router>
  );
}

瀏覽器檢查顯示<a>標簽。

<div class="style_candidate-info__gbgqb">
  <div class="style_container__29PKk ">
     <div class="card" style="width: 18rem; min-height: 21.875rem;">

        <a href="/candidate-info">
          <img src="/uploads/profile.jpeg" class="card-img-top fluid" alt="...">
        </a>

        <div class="card-body">
           <h5 class="card-title">As professional Bile</h5>
           <p class="card-text">To make brightest future for our country</p>
        </div>
        <div class="card-body style_button-container__2mqXL">
          <button class="btn btn-sm btn-primary">Vote</button>

          <a href="/candidate-info">
            <button class="btn btn-sm btn-info">More info</button>
          </a>

        </div>
     </div>
     <div class="style_overlay__12tWI">
        <div class="style_icon__peFOR" title="User Profile">
          <i class="fa fa-check"></i>
        </div>
     </div>
  </div>
</div>

解決了!

這是一個css樣式問題。 我有一個使用position: absolute;的 css position: absolute;

.overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: .3s ease;
  background-color: rgb(115, 255, 0);
}

出於某種原因,它導致了這個問題。 然后我把它改成position: static; 現在它起作用了。

如何從 react-router-dom 設置 {Switch} 組件的樣式? 我試着用<div>並且不工作</div><div id="text_translate"><p><a href="https://i.stack.imgur.com/4piCG.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/4piCG.jpg" alt="在此處輸入圖像描述"></a></p><p> <a href="https://i.stack.imgur.com/CyQH3.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/CyQH3.jpg" alt="在此處輸入圖像描述"></a></p><p> 我在下面有這段代碼,並嘗試更改 map 組件樣式。 但是,它看起來像是來自 Switch 組件。 我怎樣才能使屏幕適合這里的“根”元素? 我使用或來自 MUI 的容器和其他東西來調整大小,但它們都不起作用。</p><pre> &lt;MainWrapper&gt; &lt;Visible when={isLogged}&gt; &lt;LeftPanel /&gt; &lt;/Visible&gt; &lt;div style={{width: '100%'}}&gt; &lt;Visible when={isLogged}&gt; &lt;Navbar /&gt; &lt;/Visible&gt; &lt;div style={{height: '100hv'}}&gt; &lt;Switch&gt; &lt;PrivateRouter path='/map' component={MapPage} isLogged={isLogged} redirectTo={'/login'} /&gt; &lt;PrivateRouter path='/profile' component={UserProfile} isLogged={isLogged} redirectTo={'/login'} /&gt; &lt;PrivateRouter path='/login' component={Login} isLogged={;isLogged} redirectTo={'/map'} /&gt; &lt;PrivateRouter path='/registration' component={Registration} isLogged={.isLogged} redirectTo={'/map'} /&gt; &lt;PrivateRouter path='/' component={{}} isLogged={false} redirectTo={'/login'} /&gt; &lt;/Switch&gt; &lt;/div&gt; &lt;/div&gt; &lt;/MainWrapper&gt; ): } } const MainWrapper = styled;div` height: 100vh; display; flex; `;</pre></div>

[英]How to style {Switch} component from react-router-dom? I tried wrapping it with <div> and does not work

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 該 <Link> 來自react-router-dom不會更改URL 如何從 react-router-dom 設置 {Switch} 組件的樣式? 我試着用<div>並且不工作</div><div id="text_translate"><p><a href="https://i.stack.imgur.com/4piCG.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/4piCG.jpg" alt="在此處輸入圖像描述"></a></p><p> <a href="https://i.stack.imgur.com/CyQH3.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/CyQH3.jpg" alt="在此處輸入圖像描述"></a></p><p> 我在下面有這段代碼,並嘗試更改 map 組件樣式。 但是,它看起來像是來自 Switch 組件。 我怎樣才能使屏幕適合這里的“根”元素? 我使用或來自 MUI 的容器和其他東西來調整大小,但它們都不起作用。</p><pre> &lt;MainWrapper&gt; &lt;Visible when={isLogged}&gt; &lt;LeftPanel /&gt; &lt;/Visible&gt; &lt;div style={{width: '100%'}}&gt; &lt;Visible when={isLogged}&gt; &lt;Navbar /&gt; &lt;/Visible&gt; &lt;div style={{height: '100hv'}}&gt; &lt;Switch&gt; &lt;PrivateRouter path='/map' component={MapPage} isLogged={isLogged} redirectTo={'/login'} /&gt; &lt;PrivateRouter path='/profile' component={UserProfile} isLogged={isLogged} redirectTo={'/login'} /&gt; &lt;PrivateRouter path='/login' component={Login} isLogged={;isLogged} redirectTo={'/map'} /&gt; &lt;PrivateRouter path='/registration' component={Registration} isLogged={.isLogged} redirectTo={'/map'} /&gt; &lt;PrivateRouter path='/' component={{}} isLogged={false} redirectTo={'/login'} /&gt; &lt;/Switch&gt; &lt;/div&gt; &lt;/div&gt; &lt;/MainWrapper&gt; ): } } const MainWrapper = styled;div` height: 100vh; display; flex; `;</pre></div> “react-router-dom”路由器組件不工作 如何訪問a內的href<link> 在 react-router-dom 中標記? 如何使用“react-router-dom”中的“鏈接”使“div”標簽可點擊? 在鏈接路徑中使用“#”的React-router-dom無法導航到組件 React-router-dom-鏈接更改URL但不呈現 react-router-dom NavLink isActive 不能正常工作 谷歌分析是否也適用於 react-router-dom? 如何從 React-Router-Dom 停止對 Link 元素的傳播?
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM