将prop传递给EmotionJS的样式?

时间:2018-10-03 10:38:14

标签: reactjs emotion

如何通过状态定义我传递给EmotionJS样式的道具?

];

我不太了解此错误消息:

  

css调用中的插值函数已被弃用,将被删除   在Emotion的下一个主要版本中。如果您想打css电话   基于道具,创建一个返回css调用的函数,如下所示   let dynamicStyle =(props)=> css select Var1, Var2, 1 as [key] from t 可以是   直接用道具调用或插在这样的样式调用中   让SomeComponent = styled('div')class MyComponent extends React.Component { state = { menuOpen: true, } render() { return ( <menu className={menuStyle} menuopen={this.state.menuOpen ? 'true' : undefined }> ) } const menuStyle = css` display: ${menuopen ? 'block' : 'none'}; `

2 个答案:

答案 0 :(得分:1)

这可以使用cx函数来组合类:

<a class="delete" data-model-id="@item.Id" onclick="Delete(this)" >.........</a>

答案 1 :(得分:0)

您还可以尝试使用命名为export的csscx,并传递带有键的对象作为类名称,将值作为属性名称,如下所示:

import { css, cx } from 'emotion';

const menuStyleOpen = css
  display: 'block';
`;

class MyComponent extends React.Component {
  state = {
    menuOpen: true,
  };

  render() {
    return (
      <menu
        className={cx({
          [menuStyleOpen]: menuOpen,
        })}
      />
    );
  }
}