Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onClick函数不会在危险的LysetinerHTML中用作字符串的任何元素上激发_Javascript_Reactjs - Fatal编程技术网

Javascript onClick函数不会在危险的LysetinerHTML中用作字符串的任何元素上激发

Javascript onClick函数不会在危险的LysetinerHTML中用作字符串的任何元素上激发,javascript,reactjs,Javascript,Reactjs,我不知道这是一个错误还是我做错了什么 我有这样的代码,onClick-on-anchor不会发生火灾: const DangerousText = props => ( <div dangerouslySetInnerHTML={{ // eslint-disable-line __html: props.translate( props.translationKey, { link:

我不知道这是一个错误还是我做错了什么

我有这样的代码,onClick-on-anchor不会发生火灾:

const DangerousText = props => (
  <div
    dangerouslySetInnerHTML={{ // eslint-disable-line
      __html: props.translate(
        props.translationKey,
        {
          link:
            `<a
              href=${props.link}
              onClick="${(event) => { event.preventDefault(); props.history.push(props.link); }}"
            >
              ${props.linkTextTranslationKey ? props.translate(props.linkTextTranslationKey) : ''}
            </a>`,
          ...props.extraVariables,
        },
      ),
    }}
  />
);

然后,即使我没有单击“锚定”,此代码也会触发。

为什么要首先使用
危险的SetinenerHTML
?同意,如果您愿意,您可以将该代码转换为自己的组件。@trixn我有一种情况,我没有任何其他选择。@Rodrigo我也尝试过,但最后我被迫返回一个字符串。所以,我得到了同样的结果。你能给我举个例子吗,这样我就可以看一看,找出我的错误。
危险的setinenerHTML
用于将元素的内容设置为HTML字符串,而不是react代码,并且它将无法访问它“内部”的组件的范围。
onClick="${((event) => { event.preventDefault(); props.history.push(props.link); })(event)}"