javascript - React 中的条件格式 - 添加或附加 CSS 类

标签 javascript css reactjs jsx

将条件格式应用于此语句的更简洁的方法是什么?

const PaginationStorePageLink = ({ store, pageNum }) => (observer(({ PaginationStore }) => {
  if (this.props.store.currentPage === this.props.pageNum) {
    return (
      <PaginationLink className={styles.bold} onClick={this.props.store.goToPage(this.props.pageNum)} />
    );
  }
  return (
    <PaginationLink className={styles.primary} onClick={this.props.store.goToPage(this.props.pageNum)} />
  );
}));

具体来说,如果当前页码被检测为当前页码,则应应用“.bold”类。否则,应应用“.primary”类。

作为一个相关问题,是否可以将类相互附加?因此,例如,“.primary”类以任何一种方式应用,但如果满足条件,则应用“.bold .primary”?

最佳答案

你可以这样做:

const PaginationStorePageLink = ({ store, pageNum }) => (observer(({ PaginationStore }) => {
  const style = store.currentPage === pageNum ? styles.bold : styles.primary;

  return (
    <PaginationLink className={style} onClick={store.goToPage(pageNum)} />
  );
}));

对于第二个问题,如果您希望应用来自两个 CSS 类的样式,则可以应用两个类 (".bold .primary")。

关于javascript - React 中的条件格式 - 添加或附加 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55148069/

相关文章:

javascript - 如何在 python 中加密/签名数据并使用 RSA 在 Reactjs 中解密?

javascript - 如何将应用程序状态的答案作为 Prop 而不是卡的内部状态传递

javascript - 如何使用 fetch 测试 api 调用

sqlite 的 Javascript-ORM-包装器

javascript - 按钮在 iPhone 上的 Safari 中不起作用

css - 侧边栏和页脚中的相同和重复样式

javascript - 在另一个 Action 之后 react Redux 调度 Action

javascript - 将字符串转换为对象 - Javascript

javascript - 将侧边栏中的内容垂直对齐到文本中的引用 [基于 Tufte 风格的评论]

javascript - 将全局样式表移动到 <head> 中的样式组件之上