React 中从右到左 (RTL) 支持

2023-12-31

在 React 应用程序中实现 RTL 支持的最佳方式是什么?有没有办法覆盖默认值<p> and <span>标签(组件)来添加 RTL 支持,这样我就不必重写我已经编写的组件来支持 RTL? (例如,有一些全局变量window.RTL,所以当设置为 true 时拥有所有<p> and <span>标签将文本方向翻转为 RTL)。我可能会改变构建系统,或者制作一个 babel 插件,它将取代所有React.createElement("p" ...)用我自己的 p 标签实现,但是有更好的解决方案吗?

Thanks.


更好的方法是使用 CSS / HTML 功能:

  • directionCSS 属性
  • 统一码符号&rlm; / &lrm;
  • Attach .rtl / .ltr课程到body并用它们来改变顺序

在这种情况下,RTL 和 LTR 中 HTML 元素的顺序是相同的。应用 CSS 规则的差异。

如果您确实需要 React 中的元素顺序,则可以创建自己的组件来反转子级列表,如果 RTL:

const Dir = React.createClass({
  render: function() {
    let children = (this.props.direction == 'rtl' && this.props.children && this.props.children.reverse) ? this.props.children.reverse() : null;
    return <div>
      { children }
    </div>;
  }
});

// And use as:
// directionVariable = 'rtl'|'ltr'
<Dir direction={ directionVariable }>
  <a>First</a>
  <a>Second</a>
  <a>Third</a>
</Dir>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React 中从右到左 (RTL) 支持 的相关文章

  • Three.js:缩放几何图形后错误的 BoundingBox

    在我的场景中 我有一个简单的立方体 var test new THREE Mesh new THREE CubeGeometry 10 10 10 new THREE MeshBasicMaterial scene add test 该立方
  • IE从哪个版本开始支持Object.create(null)?

    您可以通过多种方式在 JavaScript 中创建对象 creates an object which makes the Object prototype of data var data1 new Object Object liter
  • Chrome 中的性能问题

    我目前正在从事一个相对较大的项目 使用 AngularJs 构建 应用程序的一部分是一个表单 您可以向其中添加任意数量的页面 不幸的是 添加了很多不必要的垃圾 即表示表单模型的对象可能会变得非常大 在某些时候 Chrome 基本上无法处理它
  • 如何更改 Google Maps v3 API for Directions 中的开始和结束标记图像

    我使用 DirectionsRender 绘制了一条路线 但我不知道如何用我自己的标记替换通用的 Google 标记 我知道并在正常的谷歌地图情况下使用它 但发现很难用开始和结束的方向标记来做到这一点 如果这是一个愚蠢的问题 感谢您的任何建
  • 摩卡 - Chai Karma“套件未定义”

    我对 jscript tdd 很陌生 遇到了问题 希望有人能告诉我我在做什么 在浏览器中运行测试 通过 HTML 文件 一切正常 通过节点和业力运行它们我得到以下异常 我想在 node js 主机的 karma 中使用 Mocha 和 Ch
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no
  • 可以在初始 DOM 解析期间/之前修改 DOM 吗?

    是否可以在初始 DOM 解析期间或之前修改 DOM 或者我是否必须等到 DOM 被解析和构建之后才能与其交互 更具体地说 是否有可能阻止 DOM 中的脚本元素使用用户脚本 内容脚本或 Chrome 或 Firefox 中的类似脚本运行 在解
  • 尝试将数据存储在点击器网站中

    我正在尝试存储一个名为的变量score无论何时刷新 您都会一次又一次地使用它 我不明白的是它的代码是什么 我尝试了一些方法 但似乎都不起作用 这是我的答题器网站 但是当我尝试使用 JavaScript 来存储它时 它不起作用window o
  • 使用 CSS 或 Javascript 填充动画

    我只是想知道是否可以使用 CSS 或 javascript 创建填充动画 基本上我想创建一个填充动画 如下图所示 http i40 tinypic com eit6ia png http i40 tinypic com eit6ia png
  • window.location 和 location.href 之间的区别

    我对之间的区别感到困惑window location and location href 两者似乎都以相同的方式行事 有什么不同 window location是一个对象 它保存有关当前文档位置的所有信息 主机 href 端口 协议等 lo
  • 为什么我们在打字稿中使用 HTMLInputElement ?

    我们为什么使用 document getElementById ipv as HTMLInputElement value 代替 document getElementById ipv value 功能getElementById返回具有类
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • Javascript 假值(null、未定义、false、空字符串:“”或 '' 和 0)和比较(==)运算符 [重复]

    这个问题在这里已经有答案了 当我使用任何一个值时 null undefined false 0 in a if陈述 它总是被评估为谬误 false 另外 这些值的否定 null undefined false 0 in a if语句总是被评
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • Three.js 各种大小的粒子

    我是 Three js 的新手 正在尝试找出添加 1000 个粒子的最佳方法 每个粒子都有不同的大小和颜色 每个粒子的纹理是通过绘制画布创建的 通过使用粒子系统 所有粒子都具有相同的颜色和大小 为每个粒子创建一个粒子系统是非常低效的 有没有
  • Vue 和 Vuex:处理依赖的计算属性

    我的应用程序是一个使用 Vuex 在 Vue 中构建的精简电子表格 关键组件是TableCollection Table and Row The TableCollection有一个包含多个的数组Table对象 每个Table有一个包含多个
  • 在 Shopify 商店中嵌入 Vue 组件

    在产品页面中 我尝试显示自定义 Vue 组件 为简洁起见 该组件根据给定的产品 ID 显示 Firebase 数据库中的一些信息 我最初尝试将其制作为 Shopify 应用程序 以便我可以访问他们的 API 我实现了 OAuth 并且可以检
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la
  • Cypress 在 Create React App 中返回 .scss 文件的 webpack 编译错误

    我正在尝试将 Cypress 添加到非常基本的 CRA 但遇到了 Cypress 无法理解 scss 文件的问题 当我跑步时npm run cypress运行测试 我收到以下错误 Error Webpack Compilation Erro

随机推荐

  • Django 中大表的内存效率(恒定)和速度优化迭代

    我有一张非常大的桌子 它当前位于 MySQL 数据库中 我用的是Django 我需要迭代each表的元素来预先计算一些特定的数据 也许如果我更好的话我可以这样做 但这不是重点 我希望在不断使用内存的情况下尽可能快地保持迭代 因为它已经明确地
  • 如何使用 PHP 获取午夜之前的小时数

    设想 一条记录已输入数据库 我试图找出以下方程 如何获取自添加记录以来的小时数 如何获取自记录以来到午夜还剩多少小时 加入 鉴于这些时间 日期 时间 2012 08 22 20 11 20 时间戳 1345684280 今晚午夜 2012
  • 如何允许用户更改列表框顺序

    我正在寻求帮助 我有两个列表 它们都将数据添加到同一个列表框中 并将它们显示为摘要 我想知道如何让用户在列表框中向上或向下移动索引 项目已添加到此处 private void BtnAddpickup Click object sender
  • 如何将时区全名翻译为 tz 缩写?

    在 Rails 3 x 应用程序中 我需要显示时区缩写 EST PST CST 等 而不是完整的时区名称 我见过许多似乎解决这个问题的讨论 但方式过于冗长 是否有一个 gem 或一个非常简洁的方法来处理这个问题 可以用来正确地映射它们 对于
  • Django 模板 datetime.weekday 名称

    有没有办法将模板中日期时间对象的工作日显示为工作日的实际名称 基本上我想要它打印Friday代替5 请参阅文档内置date filter https docs djangoproject com en dev ref templates b
  • SwiftUI 验证文本字段中的输入

    我试图通过使用正则表达式删除某些字符来验证文本字段中的用户输入 不幸的是 我遇到了 didSet 方法的问题textvar 递归调用自身 import SwiftUI import Combine class TextValidator O
  • 创建对对象的引用

    QuestionR 是否包含对象引用的概念 在Python中 等于运算符实际上是通过引用进行复制 例如 gt gt a 1 2 3 gt gt b a gt gt b 1 10 gt gt a 1 10 3 或在 C 中 vector a
  • 如果 R 中满足条件,则将多列中的值替换为 NA

    如果满足条件 我尝试将多个列中的值替换为 NA 这是一个示例数据集 library tidyverse sample lt tibble id 1 6 team score 5 10 cent dept test agg c 1 2 3 4
  • 如何更改 Jest 中模拟模块中函数的模拟实现

    我有一个看起来像这样的 utils 文件 utils js const getNextDate startDate gt moment startDate MMM Do YYYY startOf day add 10 days format
  • Jquery 附加内容 - 不可点击

    我有以下JQ 它基本上是添加一个小图标 允许在选择列表项时进行一些内联 编辑 但是 我无法使用 jquery 添加的内容 当我单击 JQ 添加的内容时 我什至无法将任何内容记录到控制台 我下面的代码有问题吗 我无法添加小提琴 因为我没有此列
  • 如何让WorkManager始终在后台运行

    我如何让 WorkManager 始终在后台运行 无论应用程序是否关闭 终止 打开 它都应该始终运行 我已经编码了doWork检查数据库中的更改并在数据库发生更改时发送通知的方法 因此 它应该始终在 bg 中运行以检查更改 那么我应该用什么
  • 在nodejs中使用for windows的forever模块

    我从以下链接下载了forever模块 https github com nodejitsu forever https github com nodejitsu forever 我提取了 zip 文件并将其放置在我的 node module
  • 可以将参数传递给 WPF 用户控件吗?

    可以将值或参数传递给 WPF 用户控件吗 我正在使用 MVVM 模式
  • 与迭代器创建的流的并行性

    在对流进行实验时 我遇到了以下我不太理解的行为 我从迭代器创建了一个并行流 我注意到它似乎没有表现出并行性 在下面的示例中 我在控制台上打印了两个并行流的计数器 一个是从迭代器创建的 另一个是从列表创建的 从列表创建的流表现出了我预期的行为
  • 无法将信号连接到另一个类中的插槽

    我有2节课 A 类和 B 类 我从 A 类发出信号 希望 B 类接收该信号 我正在按照以下方式做 在监听器文件中 Header File Class Listener public DDSDataReaderListener Some co
  • 实体框架“实体对象不能被 IEntityChangeTracker 的多个实例引用”

    我收到错误 实体对象不能被多个实例引用 IEntityChangeTracker 当尝试创建新实体并将其保存到数据库时 我了解该错误以及它通常是如何发生的 但在这种情况下 我所做的就是创建一个新实体并添加一些int在保存之前添加到它 而不是
  • UIImagePickerController:没有调用 didFinishPickingMediaWithInfo

    希望你们一切都好 想知道是否有人可以帮助我理解为什么 Xcode 不能很好地配合我 我已将代码分为以下几个部分 以便我可以从 UIImagePicker 中选择个人资料照片 作品 为 ImagePicker 和 NavigationCont
  • 类型引用在 MergedDictionary 上找不到名为“{clr-namespace:xxx}ClassName”的类型

    我收到了异常Type reference cannot find type named clr namespace Dashboard View DashBoardColors在运行时 我有一个带有我的颜色的静态类 namespace Da
  • mean( ,na.rm=TRUE) 仍然返回 NA

    我对 R 非常陌生 从 SPSS 转移过来 我在运行 Mavericks 的 Mac 上使用 RStudio 请用两个音节的单词回答我的问题 因为这是我第一次真正尝试类似的事情 我已经完成了一些基本教程 并且可以使所有示例数据都正常工作 我
  • React 中从右到左 (RTL) 支持

    在 React 应用程序中实现 RTL 支持的最佳方式是什么 有没有办法覆盖默认值 p and span 标签 组件 来添加 RTL 支持 这样我就不必重写我已经编写的组件来支持 RTL 例如 有一些全局变量window RTL 所以当设置