reactjs - 在 React 中使用 class 而不是 className 属性的任何或多或少的官方方式
问题描述
我想知道是否有或多或少的官方方式来使用class
属性而不是className
在 React 中。
并在 style 属性中使用普通名称{{ 'background-color': 'red' }}
而不是其驼峰式版本{{ backgroundColor: 'red' }}
。
理想情况下支持 TypeScript。
解决方案
从 React 16 开始,此行为已得到支持,可能与您在问题中所期望的方式不太一样。样式不会作为 JSX 处理,而是作为字符串处理。在 15 中,类属性被忽略,而在 16 中它将被传递
有关更改原因的说明,请参阅文档。 https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html
下面的代码片段使用 React 16
function MyComponent(props){
return <div class="myclass">Color Will be Red</div>
}
ReactDOM.render(
<MyComponent />,
document.getElementById("react")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<style>
.myclass {
color: red
}
</style>
<div id="react"></div>
下面的代码片段使用 React 15
function MyComponent(props){
return <div class="myclass">Color Will not be Red</div>
}
ReactDOM.render(
<MyComponent />,
document.getElementById("react")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.2/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/15.6.2/react-dom.min.js"></script>
<style>
.myclass {
color: red
}
</style>
<div id="react"></div>
推荐阅读
- aws-lambda - 有没有办法限制谁可以管理 lambda 别名
- html - 如何允许用户为在画布 2d 中输入的数据选择颜色
- javascript - 渲染方法应该有一个返回语句。通过猫鼬获取数据
- graphql - 如何在 JAMstack RedwoodJS 应用程序的前端从 MainCell 的 Success 函数调用后端服务函数?
- reactjs - 如何提交表单并弹出模式以在 React 中显示结果
- powershell - PowerShell 解析 Win-Event XML
- reactjs - 将 Material UI 主题与库中的组件一起使用
- java - 将 EAR 从 Jboss EAP 6.4 迁移到 Jboss EAP 7.3 后出现 Jersey 错误
- python - Python计算PDF文件每一页上的每封电子邮件
- php - 了解对数组值的主要因素求和的代码?