【问题标题】:React - Create grid using bootstrapReact - 使用引导程序创建网格
【发布时间】:2019-10-16 11:22:55
【问题描述】:

我正在尝试创建一个网站并尝试创建一个网格。由于我不擅长 CSS,我正在使用引导程序。

但是我无法弄清楚如何从我拥有的图像数组创建网格,这样它也是反应性的。

import Container from 'react-bootstrap/Container'
import Row from 'react-bootstrap/Row'
import Col from 'react-bootstrap/Col'

import React, { Component } from 'react'


export default class MoviesComponent extends Component {
    componentDidMount() {
        this.props.fetchShows()
    }
    render() {
        // console.log(this.props)
        let popular_movies = this.props.popular_movies
        // const items = popular_movies.length > 0 ? popular_movies.map((item)=> <div key={item.id}>item.title</div>) : "tt"   
        return (
            popular_movies.length > 0 ? 
            popular_movies.map((movie) => {
                return <Container className="container" key={movie.id}> 
                            <Row>
                            <Col><img src= {"http://image.tmdb.org/t/p/w185"+movie.poster_path} alt={movie.title} /></Col>
                            </Row>

                 </Container>
             })
             : <div>Loading...</div>

        )
    }
}

【问题讨论】:

    标签: reactjs bootstrap-4 react-bootstrap react-bootstrap-table


    【解决方案1】:

    您需要将映射项包装在 HTML 元素或 React 片段中。就 Row/Col 而言,它似乎是正确的,但强烈建议避免使用该库,它没有维护。寻找其他基于 Bootstrap 的风格。

    return (
      popular_movies.length ?
        <Container className="container">
          <Row>
          {
            popular_movies.map((movie) => <Col xs={1} key={movie.id}>{movie.id}</Col>)
          }
          </Row>
        </Container>
        : <div>Loading...</div>
    )
    

    【讨论】:

    • @Rinkin 我仍然可以单列,我想在一行中有多个列。
    • @GaurangShah 您只需要附加类并应用适当的列宽。上面的代码输出一行,其中包含 1 列,它将跨越整个行宽。你想要它,以便我可以建议编辑。有关更多布局建议,请参阅此链接:react-bootstrap.github.io/layout/grid
    • 我想要一个网格设置,这样每行可以有多个列。如果根据窗口的宽度调整列,那就太好了。
    • @GaurangShah 看看这是否满足您的需求。对于正确的布局格式,您需要了解布局在引导程序中的工作原理,然后相应地进行程序。
    猜你喜欢
    • 2020-04-10
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 2019-11-30
    • 1970-01-01
    • 2021-07-20
    • 2017-03-25
    相关资源
    最近更新 更多