Javascript 反应-如何从内联html触发操作?

Javascript 反应-如何从内联html触发操作?,javascript,reactjs,redux,Javascript,Reactjs,Redux,我有一个应用程序,它采用降价并将其呈现为html。我的目标是实现复选框-用户在标记中键入“[]”,在标记呈现后,我用复选框替换“[]”,当用户单击此呈现的复选框时,我希望在源标记中用“[X]”替换“[]” 所以我需要告诉react复选框已经被点击,但复选框不是一个组件,它只是一个手动插入的内联html 我有没有办法从中触发行动 或者有没有办法用react组件替换从markdown生成的部分html?您必须将html转换为组件才能正常工作。 如果您的标记解析器只返回HTML,则遍历它并使用标记创建

我有一个应用程序,它采用降价并将其呈现为html。我的目标是实现复选框-用户在标记中键入“[]”,在标记呈现后,我用复选框替换“[]”,当用户单击此呈现的复选框时,我希望在源标记中用“[X]”替换“[]”

所以我需要告诉react复选框已经被点击,但复选框不是一个组件,它只是一个手动插入的内联html

我有没有办法从中触发行动


或者有没有办法用react组件替换从markdown生成的部分html?

您必须将html转换为组件才能正常工作。
如果您的标记解析器只返回HTML,则遍历它并使用标记创建组件

您当前呈现HTML的方式有点不是纯react的方式,然后甚至使用javascript
replace
^^^更改HTML,我的意思是这有点危险

但是,如果出于某种原因,您必须使用当前方式,您可以在此处阅读我的答案,其中显示了适用于您的案例的相同解决方案:

使用复选框替换文本时,您可以向复选框中添加更多参数,然后react的内置jQuery可以帮助您向复选框中添加单击事件


如果我的方法还不适合你,请随意在这里发布一些日志错误,我们可以一起找到一个好的解决方法

如何用复选框替换[]?markdown=markdown.replace(checkboxRegexp,
);