let h = '<a>test</a>';
<div>{h}</div> // <div><a>test</a></div>
想知道怎么解析html?
jsx是语法糖,最终转译目标都会成类似于
let h = React.createElement('a',null,[{text:'test'}]);
React.createElement('div',null, [h]);
+++++
如果加一个 render函数,你应该可以理解
function render(virtualDom) {
var element = document.createElement(virtualDom.type);
// ...设置属性等
if(virtualDom.children) {
var markup = render(virtualDom[0]);
//...
}
// 递归子元素等
return element;
}
3 回答1.8k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
2 回答2.4k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
react中采用
dangerouslySetInnerHTMl
解析html标签使用方法:
之所以会这么难写可能是出于安全性的考虑,防止xss攻击 参考链接