Javascript 反应器不工作

Javascript 反应器不工作,javascript,html,user-interface,dom,reactjs,Javascript,Html,User Interface,Dom,Reactjs,为什么colspan属性在React中不起作用?我创建了一个简单组件,它呈现以下内容: <table border="1"> <tr> <th colspan="2">people are...</th> </tr> <tr> <td>monkeys</td> <td>donkeys</td> </tr> </table

为什么colspan属性在React中不起作用?我创建了一个简单组件,它呈现以下内容:

<table border="1">
  <tr>
    <th colspan="2">people are...</th>
  </tr>
  <tr>
    <td>monkeys</td>
    <td>donkeys</td>
  </tr>
</table>

人们。。。
猴子
驴子
我得到的是:

我错过什么了吗

编辑:已解决

这是解决办法。React要求属性名为colSpan,而不是colSpan。在浪费了大量的时间去发现这个小小的邪恶事实之后,我发现了这一点。

来自React的文档:

所有DOM属性和属性(包括事件处理程序)都应该使用camelCased,以与标准JavaScript样式一致

如果您检查浏览器的控制台,您将看到React警告您:


var App=React.createClass({
render(){
返回
人们。。。
猴子
驴子
}
})
ReactDOM.render(,document.querySelector('#app'))

除了更改大小写,我还必须将值从字符串更改为数字

与此相反:

<td colspan='6' />

我必须这样做:

<td colSpan={6} />

colspan
属性的大小写类似于
colspan
。因此,我们需要使用
colspan
,而不是
colspan


在React v16.12中,您仍然可以将值提供为
int
,例如
colSpan={4}
string
,例如:
colSpan=“4”
,在关闭开始标记之前,我不得不将colSpan放在末尾,因为某种原因,它在开始时作为第一个道具不起作用。

我有一点不同的情况,但对我来说,最终的解决方案是实际给th/td一个
显示:表格单元格属性。

我知道您的代码中没有问题。你能告诉我更多的细节吗?这是小提琴。你可以看到colspan工作得很好。阅读编辑后的文章。React不喜欢老式的html语法,请创建答案,而不是将其添加到问题文本中。回答你自己的问题是完全合法的。这并不重要——HTML标记名和属性名是大小写-insensitive@fen1xReact比普通HTML严格得多。@fen1x这在React中很重要,我在当前项目中也经历过同样的情况。该解决方案帮助我使用TypeScript进行React。谢谢