虽然将props传递给样式组件,但未应用props

俊023

我想做的事

根据使用从组件传递的道具更改颜色styled component

问题

SmallButton组件肯定会得到,props但不会像道具所示的那样改变。

我想更改SmallButton依赖于props组件赋予按钮组件的样式SmallButton拥有这些道具,但完全没有改变。

我想请您教我如何解决。

非常感谢你。

=== ==== === ===我的代码是这样的。

Header.jsx

render() {
    return (
      <>
        <Wrapper>
          {/* CSS Grid( 1 : 1 : 1) 左 */}
          <Image src={Logo} alt="" />
          {/* CSS Grid( 1 : 1 : 1) 中央 */}
          <SearchBox />
          {/* CSS Grid( 1 : 1 : 1) 右 */}
          {this.props.isAuthenticated ? (
            <>
              <div>
                <MessageToUserDiv>
                  <span>Hello {this.state.loginUser.username}</span> 
                  <LogoutButton onClick={this.handleLogout}>Logout</LogoutButton>
                </MessageToUserDiv>
                <AuthButtonDiv>
                  <SmallButton
                    btn_border="#466A80"
                    btn_back="#466A80"
                    btn_text_color="#D9F1FF"
                    btn_name="Post"
                    btn_click={this.jumpToPostGive}
                  />
                  <SmallButton
                    btn_border="#466A80"
                    btn_back="#8DD6FF"
                    btn_text_color="#466A80"
                    btn_name="Info"
                    btn_click=""
                  />
                </AuthButtonDiv>
              </div>
            </>
          ) : (
            <>
              <div>
                <p>Hello Guest</p>
                <AuthButtonDiv>
                  <SmallButton btn_name="Register" btn_click={this.jumpToRegister} />
                  <SmallButton btn_name="Login" btn_click={this.jumpToLogin} />
                </AuthButtonDiv>
              </div>
            </>
          )}
        </Wrapper>
      </>
    );
  }
}

const Wrapper = styled.div`
  background-color: #8dd6ff;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 2.3fr 1fr;
  padding: 10px 5px 5px 5px;
`;

const Image = styled.img`
  width: 230px;
  margin-top: 5px;
`;

const MessageToUserDiv = styled.div`
  font-size: 13px;
  text-align: right;
  height: 20%;
`;

const LogoutButton = styled.button`
  color: #6e787f;
  width: 30%;
`;

const AuthButtonDiv = styled.div`
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  height: 80%;
`;

SmallButton.jsx

class SmallButton extends Component {
  constructor(props) {
    super(props);
  }

  render() {
    return (
      <StyledButton
        type={this.props.btn_type}
        onClick={this.props.btn_click}
        onSubmit={this.props.btn_submit}
        disabled={this.props.btn_disable}
      >
        {this.props.btn_name}
      </StyledButton>
    );
}
}

const Colors = {
  main: '#8DD6FF',
  characters: '#6C7880',
  subcolor1: '#D9F1FF',
  accent1: '#70AACC',
  accent2: '#466A80',
};

const StyledButton = styled.button`
  font-size: 1.18em;
  border-radius: 7px;
  height: 45px;
  width: 100px;
  padding: 2px 3.5px;
  border: solid 2.5px;
  border-color: ${(props) => props.btn_border};
  background: ${(props) => props.btn_back};
  color: ${(props) => props.btn_text_color};
`;
贝苏夫卡德·门吉

将其余的道具散布到StyledButton上,如下所示:

 <StyledButton
    type={this.props.btn_type}
    onClick={this.props.btn_click}
    onSubmit={this.props.btn_submit}
    disabled={this.props.btn_disable}
    {...this.props}
  >
    {this.props.btn_name}
  </StyledButton>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React js将props传递给组件

来自分类Dev

将 props 传递给动态加载的组件

来自分类Dev

将props传递给组件-语法错误

来自分类Dev

通过 props 将函数列表传递给组件

来自分类Dev

将 props 传递给高阶无状态功能 React 组件

来自分类Dev

将函数传递给 props 中的 React 组件

来自分类Dev

如何将props传递给在React中作为props传递的组件?

来自分类Dev

带typescript的EmotionJS不会将主题类型传递给样式组件中的props

来自分类Dev

如何通过 props 将组件传递给另一个组件

来自分类Dev

使用 props 将子组件数据传递给父组件

来自分类Dev

将数组作为props传递给reactjs

来自分类Dev

将props传递给react函数

来自分类Dev

将参数传递给props本机吗?

来自分类Dev

将数组作为props传递给reactjs

来自分类Dev

如何将 Props 传递给 Navigator?

来自分类Dev

将函数传递给子组件this.props.children方法未定义

来自分类Dev

React-router:如何将props传递给子组件?

来自分类Dev

如何通过React中的props将函数传递给不同组件中的函数?

来自分类Dev

如何将列表“键”值作为props传递给嵌套组件?

来自分类Dev

将函数传递给子组件this.props.children方法未定义

来自分类Dev

将 props 传递给包装在变量中的 react-redux 组件

来自分类Dev

将 props 传递给 {children()} 以在子页面的组件中使用

来自分类Dev

使用 props 将状态传递给另一个组件函数

来自分类Dev

如何将 props 传递给 ReactJS 中 const 中描述的组件

来自分类Dev

React Router - 通过 props 将匹配传递给使用 Route::render 渲染的组件

来自分类Dev

Nuxt.js:将 keep-alive-props 传递给根 nuxt 组件

来自分类Dev

如何将 props 及其方法动态传递给 React 中的组件?

来自分类Dev

用于将具有相同键和值的 React props 传递给组件的语法糖

来自分类Dev

将样式传递给组件的最佳方法

Related 相关文章

  1. 1

    React js将props传递给组件

  2. 2

    将 props 传递给动态加载的组件

  3. 3

    将props传递给组件-语法错误

  4. 4

    通过 props 将函数列表传递给组件

  5. 5

    将 props 传递给高阶无状态功能 React 组件

  6. 6

    将函数传递给 props 中的 React 组件

  7. 7

    如何将props传递给在React中作为props传递的组件?

  8. 8

    带typescript的EmotionJS不会将主题类型传递给样式组件中的props

  9. 9

    如何通过 props 将组件传递给另一个组件

  10. 10

    使用 props 将子组件数据传递给父组件

  11. 11

    将数组作为props传递给reactjs

  12. 12

    将props传递给react函数

  13. 13

    将参数传递给props本机吗?

  14. 14

    将数组作为props传递给reactjs

  15. 15

    如何将 Props 传递给 Navigator?

  16. 16

    将函数传递给子组件this.props.children方法未定义

  17. 17

    React-router:如何将props传递给子组件?

  18. 18

    如何通过React中的props将函数传递给不同组件中的函数?

  19. 19

    如何将列表“键”值作为props传递给嵌套组件?

  20. 20

    将函数传递给子组件this.props.children方法未定义

  21. 21

    将 props 传递给包装在变量中的 react-redux 组件

  22. 22

    将 props 传递给 {children()} 以在子页面的组件中使用

  23. 23

    使用 props 将状态传递给另一个组件函数

  24. 24

    如何将 props 传递给 ReactJS 中 const 中描述的组件

  25. 25

    React Router - 通过 props 将匹配传递给使用 Route::render 渲染的组件

  26. 26

    Nuxt.js:将 keep-alive-props 传递给根 nuxt 组件

  27. 27

    如何将 props 及其方法动态传递给 React 中的组件?

  28. 28

    用于将具有相同键和值的 React props 传递给组件的语法糖

  29. 29

    将样式传递给组件的最佳方法

热门标签

归档