【问题标题】:react bootstrap tabs component renders all tabs反应引导选项卡组件呈现所有选项卡
【发布时间】:2021-08-26 04:14:45
【问题描述】:

我有一个应该很简单的问题,但到目前为止或在文档中找不到关于 SO 的解决方案


https://react-bootstrap.github.io/components/tabs/

由于某种原因,我的组件呈现了我所有的实际选项卡而不是活动选项卡,即使我将其设置为仅显示活动选项卡...希望有人能提供一些见解,我已将引导程序和 jquery CDN 包含在我的 index.html 尝试修复它,但它没有任何区别

const [key, setKey] = useState("chart");
function CoinData(props) {
  return (
    <div>
      <Tabs
        className="tabs"
        id="controlled-tab-example"
        activeKey={key}
        onSelect={(k) => setKey(k)}
        className="mb-3"
      >
        <Tab eventKey="chart" title="Charts">
          {allLoading ? (
            "Loading token data..."
          ) : (
            <table>
              <tbody>
                <tr>
                  <th>Address</th>
                  <th>Symbol</th>
                  <th>In Eth</th>
                  <th>Liquidity</th>
                </tr>

                {allTokenData.tokens.map((token, index) => (
                  <tr className="row" key={index}>
                    <td>{token.id}</td>
                    <td>{token.symbol}</td>
                    <td>{parseFloat(token.derivedETH).toFixed(4)}</td>
                    <td>{token.totalLiquidity}</td>
                  </tr>
                ))}
              </tbody>
            </table>
          )}
        </Tab>

        <Tab eventKey="track" title="Tracker">
          <Tracker />
        </Tab>
      </Tabs>
    </div>
  );
}

【问题讨论】:

  • 为什么你的状态在组件之外?您能否更新问题以包含完整且完整的组件代码示例?

标签: reactjs react-bootstrap use-state


【解决方案1】:

你很可能忘记导入 bootstrap.css

这是您代码的最小化工作版本:

import React, { useState } from "react";
import ReactDOM from "react-dom";
import { Tabs, Tab } from "react-bootstrap";

import "bootstrap/dist/css/bootstrap.min.css";

function CoinData(props) {
  const [key, setKey] = useState("chart");
  return (
    <div>
      <Tabs
        className="tabs"
        id="controlled-tab-example"
        activeKey={key}
        onSelect={(k) => setKey(k)}
      >
        <Tab eventKey="chart" title="Charts">
          <h1>1</h1>
        </Tab>
        <Tab eventKey="track" title="Tracker">
        <h1>2</h1>
        </Tab>
      </Tabs>
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<CoinData />, rootElement);

【讨论】:

  • 是的,看起来就是这样 :P 非常感谢,我以为我只需要导入组件本身,然后在我的 index.html 中导入 css ......不知道有那个总数节点中的 css 的导入选项将在未来密切关注这一点
  • 太棒了! CSS 需要导入才能完成所有的样式设置:D
猜你喜欢
  • 1970-01-01
  • 2022-07-07
  • 1970-01-01
  • 2021-08-15
  • 1970-01-01
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多