5

我正在使用以下代码生成一个简单的 UI,并尝试将其转换为使用 Bootstrap。

这是我的原始代码(使用Skeleton);

render:function(){
        return (
            <div className="grocery-item row">
                <div className="six columns">
                    <h4 className={this.props.item.purchased ? "strikethrough" : "" }>
                        {this.props.item.name}
                    </h4>
                </div>
                <form onSubmit={this.togglePurchased} className="three columns">
                    <button className={this.props.item.purchased ? "btn btn-danger" : "button-primary"}>{this.props.item.purchased ? "unbuy" : "buy"}</button>
                </form>
                <form className="three columns" onSubmit={this.delete}>
                    <button>&times;</button>
                </form>
            </div>
        )
    }

我试着做这样的事情;

render:function(){
        return (        
          <table class="table table-striped">
            <thead>
              <tr>
                <th>Column 1</th>
                <th>Columan 2</th>
                <th>Columan 3</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <h4 className={this.props.item.purchased ? "strikethrough" : "" }>{this.props.item.name}</h4>
                <form onSubmit={this.togglePurchased} className="three columns">
                  <button className={this.props.item.purchased ? "btn btn-danger" : "button-primary"}>{this.props.item.purchased ? "unbuy" : "buy"}</button>
                </form>
                <form className="three columns" onSubmit={this.delete}>
                    <button>&times;</button>
                </form>
              </tr>
            </tbody>
          </table>
        )
    }

但它不像我预期的那样工作。我正在使用react-express-examplar作为我的起点。

如何让 Bootstrap 表在我的 React 应用程序中工作?

4

3 回答 3

0

我认为如果您使用create-react-app. 他们甚至给出了如何将 Bootstrap 与 React 一起使用的说明

你说你是 React 的新手。有很多活动部件一开始可能会让人不知所措。使用create-react-app会减少很多学习曲线,让您在尽可能少的摩擦下更容易上手。

祝你好运!

于 2016-09-23T12:17:46.417 回答
-1

据我了解,您希望名称和购买/取消购买按钮在相应的列下连续出现。在 tr 标记中,将每个 html 部分作为 td 标记请参考下面的 html 片段:

 <td>
  <h4 class="strikethrough">
                    name
  </h4>
</td>
<td>
  <form class="three columns">
      <button class="btn btn-info">buy</button>
  </form>
</td>
<td>
  <form class="three columns">
      <button>&times;</button>
  </form>
</td>

请尝试修改组件渲染方法中的 html,类似地。

于 2016-09-20T12:49:03.627 回答
-1

您将表格添加到错误的组件。它必须在 GroceryItemList.jsx 上

注意:表格内不允许有表格。我只是提供结构和 UI,代码未经测试。

::: 结构应该类似于-

GroceryItemList.jsx 组件::::

render:function(){
        return (
            <div>
                <table className="table">
                    <thead>
                      <tr>
                        <th>Column 1</th>
                        <th>Columan 2</th>
                        <th>Columan 3</th>
                      </tr>
                    </thead>
                    <tbody>
                        {this.props.items.map((item,index)=>{
                            return (
                                <GroceryItem item={item} key={"item"+index} />
                            )
                        })}
                        <GroceryListAddItem />
                    </tbody>
                </table>
            </div>
        )
    }

GroceryItem.jsx 组件::::

render:function(){
    return (
        <tr>
            <td>
                <h4 className={this.props.item.purchased ? "strikethrough" : "" }>
                    {this.props.item.name}
                </h4>
            </td>
            <td>
                <form onSubmit={this.togglePurchased}>
                    <button className={this.props.item.purchased ? "" : "button-primary"}>{this.props.item.purchased ? "unbuy" : "buy"}</button>
                </form>
            </td>
            <td>
                <form onSubmit={this.delete}>
                    <button>&times;</button>
                </form>
            </td>
        </tr>
    )
}
于 2016-09-21T05:02:06.383 回答