Стилизованный компонент, не использующий реквизит

Я пытаюсь передать свойства своему стилизованному компоненту. Я использую зависимость npm от стилизованного компонента.

import React, { Component } from 'react';
import styled from 'styled-components';

class WidgetContainer extends Component {

  render() {

    return (
        <Wrapper name='widget-container'>
        </Wrapper> 
    );
  }
}

const mapStateToProps = state => {
  return {
    user: state.user, 
    bannerStatus: true
  };
};

export default withRouter(connect(mapStateToProps)(WidgetContainer));

const Wrapper = styled.div`
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  margin: auto;
  align-items: center; 
  justify-content: flex-start;
  background: -webkit-linear-gradient(top, rgba(162, 209, 234, 1) 0%, rgba(56, 83, 132, 1) 100%);
  padding-top: ${(props) => { 
    console.info(props.bannerStatus)
    console.info('DATA')
    return props.user ? '160px' : '126px'}};
  overflow-y: auto;
  padding-bottom: 40px;
  @media(max-width: 768px) {
    padding-top: 126px;
    padding-bottom: 5px;
  }
`;

Вы можете увидеть console.info возвращает undefined. Хотя значение жестко запрограммировано. В результате тернарный оператор не работает.

Вот документы: https://www.styled-components.com/docs/basics#adapting-based-on-props.

Wrapper вне класса. Можно ли получить таким образом доступ к реквизиту?
Dan 03.07.2018 04:03
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
3
1
3 036
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы сопоставляете состояние с реквизитами только в WidgetContainer. Компоненту Wrapper не передаются никакие реквизиты.

Пытаться <Wrapper bannerStatus = {props.bannerStatus} name='widget-container'></Wrapper> или <Wrapper user = {props.user} bannerStatus = {props.bannerStatus} name='widget-container'></Wrapper>.

Это сработало. Спасибо за помощь, сэр!

J Seabolt 03.07.2018 05:00

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