操纵或 tag in React

问题描述 投票:11回答:2

在React中操纵<html><body>标签的最佳方法是什么?

例如,动态设置“lang”属性还是更改类?

<html lang="en" class="ltr">

我可以使用原始DOM操作来做到这一点。但这是正确的方法吗?

dom reactjs
2个回答
15
投票

我刚刚遇到这个用例,我想在用户切换语言时修改<html> lang属性。 React Helmet实际上这很简单。

只需从您的反应状态获取lang并将其传递到应用中任何位置的Helmet组件:

<Helmet htmlAttributes={{ lang : this.state.lang }}/> // with this.state = { lang : 'en' }

5
投票

可以直接更改lang属性,也可以更改document.documentElement.lang的值

例如:

var newLang = 'fr';
...
document.documentElement.lang = newLang; // will set the lang property to 'fr'
© www.soinside.com 2019 - 2024. All rights reserved.