未捕获的不变违规行为

时间:2016-08-10 08:13:13

标签: reactjs ecmascript-6

根据我的理解,反应子元素必须在父元素内。我写得像这样。并显示未被捕获的不变违规。

render() {
 return (
  <div>
    <p>You {this.state.liked} this. Click to toggle.</p>
    <button onClick="this.increment">Increment</button>
  </div>
  );
 }

但是当我在div内的click事件上写按钮时,它显示了预期的结果。

render() {
  return (
   <div onClick={this.increment}>
    <p>You {this.state.liked} this. Click to toggle.</p>
   </div>
  );
}

我在这里缺少什么?

3 个答案:

答案 0 :(得分:0)

在第一个示例中,您在onClick props中传递一个字符串,但React希望它是一个函数。

答案 1 :(得分:0)

这就是我如何让它在我的最终工作。

import { DOM } from "react";

return (
    DOM.div({
        className: "", onClick: () => {
            executeMicroflow(props.microflowProps);
        },
        style: { width: Value + "%" }
    })
);

function executeMicroflow(params) {}

答案 2 :(得分:0)

当我的TSX文件位于相同名称的文件夹中时,出现此错误。

我将文件复制并粘贴到其他位置。因为该文件夹存在。没有编译时错误。

但是在运行时,require调用没有映射到文件。