react RTL。条件导入 CSS

IT技术 css reactjs right-to-left
2021-04-06 20:14:09

我正在将 RTL 合并到我的 React 应用程序中。我有两个 CSS 文件,一个用于 LTR,一个用于 RTL。我有一个下拉菜单,用户可以从中选择英文版或阿拉伯文版。

我对如何在用户选择阿拉伯语版本时有条件地导入我的 RTL CSS 文件并在用户选择英语时恢复到正常的 CSS 文件感到困惑。

对此的任何帮助或指导将不胜感激

我正在使用 React 和 webpack

问候

2个回答

我以前遇到过这个问题,我所做的是当我的主容器安装时,我检查语言,如果它是阿拉伯语,我需要阿拉伯语 CSS 文件,如果不是我需要另一个。

例子:

class Main extends Component {
    componentWillMount() {
         if(this.props.language === 'ar') {
            require('arabic.css');
         } else {
            require('english.css');
         }
    }
}

我也在使用 Redux,这让我更容易获得初始或默认语言,并相应地更改所有其他组件。

只要确保在 webpack 配置文件中配置了 CSS 加载器。

@MamdouhAlsarayreh 实际上它不应该工作,因为 css 组装发生在页面加载生产之前
2021-05-27 20:14:09
您的解决方案导入了两个 css 文件
2021-05-28 20:14:09
@FE_Addict 它也应该用于生产。也许问题是生产中的静态文件路径,请查看您的 webpack 生产配置。
2021-06-05 20:14:09
这个解决方案只适用于开发......我们需要做什么才能让它在生产中工作?
2021-06-15 20:14:09

使用 React.Lazy 和 React.Suspense 有条件地导入它们。

阅读这篇文章

如果有一些代码而不仅仅是一个链接,那就太好了
2021-05-24 20:14:09