React Material-UI not justify-content не будет работать для всех моих карт

У меня действительно странная проблема с моим кодом. Я использую React для отображения состояния Redux на карты Material-UI. На днях, когда я тестировал разные стили на своих картах, я мог создавать разные классы и обновлять внешний вид карт, как мне нравилось. Однако сегодня, когда я добавил новую информацию в свою базу данных, новые карты не будут брать весь стиль из базы данных Material-UI. В частности, кажется, что новые карты не затронуты justifyContent.

Мне сложно объяснить эту проблему, но в основном у меня есть база данных, содержащая информацию, отображаемую на нескольких разных картах. Некоторые карты принимают стиль Material-UI, другие карты - нет.

Я хотел бы опубликовать jsfiddle, но мне нужно было бы связать его с моей базой данных, и я не уверен, что это можно сделать.

Вот страница, которая отображает мое состояние редукции:

import React, { Component } from 'react';
import { connect } from 'react-redux';
import ProjectItem from '../ProjectItem/ProjectItem'
import {withRouter} from 'react-router-dom'
import Header from '../Header/Header'
import { withStyles } from '@material-ui/core';

const mapReduxStateToProps = (reduxState) => ({reduxState});

const styles = theme => ({
    bodyContent: {
        marginTop: 100,
    }
})

class ProjectPage extends Component {

    //This calls the getProjects function on the page load
    componentDidMount() {
        this.getProjects();
    }

    //This function dispatches an action to our index page
    getProjects = () => {
        console.info('running')
        this.props.dispatch({ type: 'GET_PROJECT'})
    }

  render() {
    const {classes} = this.props
    return (
      <div>
          <Header />
          <div className= {classes.bodyContent}>
        {this.props.reduxState.projects.map((project,index) => {
            return(

                <ProjectItem 
                    key = {index}
                    id = {project.id}
                    name  = {project.name}
                    description = {project.description}
                    thumbnail = {project.thumbnail}
                    website = {project.website}
                    github = {project.github}
                    tag_id = {project.tag_id}
                />

            )
        })}
        </div>
      </div>
    );
  }
}

export default withRouter(connect(mapReduxStateToProps)(withStyles(styles)(ProjectPage)));

А вот и страница с моей стилизацией.

import React, { Component } from 'react';
import { connect } from 'react-redux';
import './ProjectItem.css'
import Card from '@material-ui/core/Card';
import CardMedia from '@material-ui/core/CardMedia'
import CardContent from '@material-ui/core/CardContent'
import Typography from '@material-ui/core/Typography'
import { withStyles } from '@material-ui/core';

const mapReduxStateToProps = (reduxState) => ({reduxState});

const styles = theme => ({
    card: {
        display: 'flex',
        width: 550,
        alignSelf: 'center',
        height: 150,
        paddingTop: 5,
        paddingBottom:5,

    },
    details: {
        display: 'flex',
        flexDirection: 'column'
    },
    thumbnail: {
        height: 150,
        minWidth: 150
    },
    contentBody: {
        justifyContent: 'space-between',
        textAlign: 'left',
        alignItems: 'center',
        display : 'inline-flex',
    },
    toolbar: theme.mixins.toolbar
})
class ProjectItem extends Component {



  render() {
      const {classes} = this.props
    return (
        <div className='container'>
          <Card className = {classes.card}>
              <CardMedia
                  className = {classes.thumbnail}
                  image = {this.props.thumbnail}
                  title = "Project Image"
              />
              <div className = {classes.details}>
                  <CardContent className = {classes.contentBody}>
                      <Typography variant='h5'>
                        {this.props.name} 
                      </Typography>
                      <Typography variant='h6'>
                        <a href = {this.props.github}>GitHub</a>  
                      </Typography>
                      <Typography variant='h6'>
                        <a href = {this.props.website}>Website</a>
                      </Typography>
                      <Typography variant='h6'>
                        {this.props.tag_id}
                      </Typography>
                  </CardContent>
                  <CardContent className = {classes.content}>    
                      <Typography>
                          {this.props.description}
                      </Typography>
                  </CardContent>
              </div>
          </Card>
          </div>
    );
  }
}

export default connect(mapReduxStateToProps)(withStyles(styles)(ProjectItem));

Пожалуйста, создайте фрагмент песочницы, очень эффективно вы можете получить помощь :) codeandbox.io

Ajit T Stephen 11.11.2018 19:00

Вы добавляли display : 'inline-flex' между тестами?

Sylvain Biehler 12.11.2018 13:42
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
163
0

Другие вопросы по теме