4

自从我开始使用 NextJS,我就非常喜欢 styled-jsx(我知道,不是每个人都喜欢它)。我很想在我的创建反应应用程序中使用它。在本地它工作得很好。但是,反应向我显示了错误:

Warning: Received `true` for a non-boolean attribute `jsx`.

据我了解,这意味着代码不会被 babel 传递。我需要将 babel 插件添加到我的 Create React App Babel 配置中——如果不弹出,这是不可能的。

我也读过,react-app-rewired但我不相信它足以投入生产。styled-jsx在我的创建反应应用程序项目中是否有更原生的方式使用?

4

2 回答 2

3

我只是碰巧在另一个问题下详细回答了这个问题:) 希望它有助于 https://stackoverflow.com/a/66285652/511908

于 2021-02-19T22:11:49.513 回答
2

根据 styled-jsx 文档,可以create-react-app通过css.resolve. 在这里styled-jsx/macro阅读。

认为这是预期用途,但我无法让它工作:

import css from "styled-jsx/macro";

export function Login() {
    const { demoClass, styles } = css.resolve`
        label {
            color: green;
        }
    `;

    return (
        <label className={demoClass}>Test</label>
    );
}

即使这确实有效,我也不喜欢它并且宁愿使用样式化组件或 CSS 模块(顺便说一下,内置在 CRA 中)。这远没有普通的 styled-jsx 代码那么干净。

似乎 styled-jsx 在不弹出的情况下不能很好地与 CRA 配合使用。如果你确实让它工作了,请告诉我,但现在我正在使用样式化组件路线走 CSS 模块。

于 2020-11-27T23:46:47.663 回答