Импорт PropTypes для установки цвета для компонента

#javascript #css #reactjs #react-hooks #storybook

#javascript #css #reactjs #реагирующие хуки #сборник рассказов

Вопрос:

Итак, я пытаюсь добавить элементы управления к своим компонентам сборника рассказов. У меня возникли проблемы с пониманием того, как изменить стиль css. Я настроил proptypes, чтобы помочь мне обрабатывать цвет фона компонента, но я не знаю, как включить это в свои истории. Прямо сейчас мой цвет фона — ничто. Я бы хотел, чтобы для начала это был определенный цвет. Я использую React. Я добавил свой код ниже, любая помощь приветствуется!

Style.js:

 import PropTypes from 'prop-types';
import styled from 'styled-components';
import { colors } from '../utilities';

export const StyledButton = styled.button`
  color: ${colors.text500};
  text-transform: uppercase;
  width: 300px;
  height: 50px;
  font-size: 1.1em;
  letter-spacing: 0.1em;
  margin: 1em;
  padding: 0.25em 1em;
  border-radius: 5px;
  border: none;
  background: ${props => props.color};
`;

StyledButton.PropTypes = {
  color: PropTypes.string.isRequired,
};

export default StyledButton;
  

Button.stories.js

 import React from "react";
import Button from "./Button";
import { colors } from '../utilities';

export default {
  title: "Button",
  component: Button
};

export const Primary = (args) => <Button {...args} />;

Primary.args = {
  label: 'Download',
  color: '${colors.primary500}',
};
  

Комментарии:

1. Использовать .defaultProps

2. @JosephD. где?

3. @JosephD. Я пытался изменить это следующим образом и несколькими другими способами, но это не работает:export const Primary = (аргументы, реквизиты) => <Кнопка {…аргументы, реквизиты} />; Primary.args.defaultProps = { label: ‘Загрузить’, background: ‘${colors.primary500}’, };

4. Попробуйте Primary.defaultProps .

5. @JosephD. Я сделал, к сожалению, это тоже не работает.