React 中创建属性标记字符串的函数 - createMarkupForProperty
这个函数的功能是创建一个用于属性的标记字符串。它根据属性的名称和值,以及属性的相关信息,生成相应的标记字符串。
函数的执行过程如下:
- 根据属性的名称调用
getPropertyInfo函数获取属性的相关信息,并将结果保存在propertyInfo变量中。 - 如果属性的名称不是'style'并且根据属性的相关信息判断应该忽略该属性(
shouldIgnoreAttribute函数返回true),则返回一个空字符串。 - 如果根据属性的名称、值和相关信息判断应该移除该属性(
shouldRemoveAttribute函数返回true),则返回一个空字符串。 - 如果属性的相关信息不为空,则根据属性的相关信息获取属性的名称和类型,并保存在
attributeName和type变量中。 - 如果属性的类型是'BOOLEAN',或者属性的类型是'OVERLOADED_BOOLEAN'并且属性的值为'true',则返回属性的名称加上一个空字符串。
- 否则,如果属性的相关信息指定需要对属性的值进行URL的安全处理,则将属性的值强制转换为字符串,并调用
sanitizeURL函数进行URL的安全处理。 - 返回属性的名称加上等号和属性的值的浏览器可用格式(
quoteAttributeValueForBrowser函数进行处理)的字符串。 - 如果属性的相关信息为空,并且属性的名称是安全的,则返回属性的名称加上等号和属性的值的浏览器可用格式的字符串。
- 如果以上条件都不满足,则返回一个空字符串。
原文地址: https://www.cveoy.top/t/topic/qnEk 著作权归作者所有。请勿转载和采集!