在React中使用自定义外部样式属性

在我的React应用程序中,通过将呈现的HTML(Excel知道如何打开)保存到文件,将HTML表格导出到Excel。 我还试图在每个<td>上设置'mso-number-format'样式属性来告诉Excel每个单元使用的数字格式。 但是,React不喜欢这个代码:

 <td style={{ 'mso-number-format': '\\@' }} 

在控制台中它logging:

 Unsupported style property mso-number-format. Did you mean msoNumberFormat? Check the render method of `ComponentX`. 

有没有一种方法来解决这个问题,而不需要遍历DOM并手动执行如下操作:

 node.setAttribute('style', 'mso-number-format: \\@') 

React JSX中的样式属性是用camelCase表示法编写的,而不是像您定义的那样。 定义它像

 <td style={{ 'msoNumberFormat': '\@' }}> 

反应文件说这个

在React中,内联样式不被指定为string。 相反,它们是用一个对象来指定的,该对象的关键字是样式名称的camelCased版本,其值是样式的值,通常是一个string

样式键是camelCased的,以便与从JS(例如node.style.backgroundImage)访问DOM节点上的属性一致。 除ms之外的供应商前缀应以大写字母开头。 这就是为什么WebkitTransition有一个大写的“W”。

内联样式文档

作为反应build议你,它会解决你的问题。

另外,我认为它应该是\\@而不是\\@用于文本格式。

你也可以尝试一下

 var styles = { msoNumberFormat: '\@' } <td style={styles}>