Closed alwaysRemember closed 3 years ago
之前尝试过这个方法 但是他的传参只能显示初始数据 所以我才切换为wxparse
在3.0.8版本中要求Component继承自React本身后, 像 this.$scope.selectComponent 这样的方法没法办啊,大家有没有解决方案
在3.0.8版本中要求Component继承自React本身后, 像 this.$scope.selectComponent 这样的方法没法办啊,大家有没有解决方案
可以直接使用: dangerouslySetInnerHTML属性进行渲染。 https://taro-docs.jd.com/taro/docs/html 但是这个属性目前只支持固定的参数渲染,不支持从请求中获取的数据。 所以需要写成:
const [isShow, setIsShow] = useState<boolean>(false);
useEffect(() => {
setIsShow(!!data);
}, [data]);
return (
<View className={styles['product-content-wrapper']}>
{(isShow && (
<View
className="taro_html"
dangerouslySetInnerHTML={{ __html: data }}
/>
)) ||
''}
</View>
);
这个样子可以实现渲染HTML,并且支持请求的数据。
在3.0.8版本中要求Component继承自React本身后, 像 this.$scope.selectComponent 这样的方法没法办啊,大家有没有解决方案
可以直接使用: dangerouslySetInnerHTML属性进行渲染。 https://taro-docs.jd.com/taro/docs/html 但是这个属性目前只支持固定的参数渲染,不支持从请求中获取的数据。 所以需要写成:
const [isShow, setIsShow] = useState<boolean>(false); useEffect(() => { setIsShow(!!data); }, [data]); return ( <View className={styles['product-content-wrapper']}> {(isShow && ( <View className="taro_html" dangerouslySetInnerHTML={{ __html: data }} /> )) || ''} </View> );
这个样子可以实现渲染HTML,并且支持请求的数据。
dangerouslySetInnerHTML 渲染问题ISSUES: https://github.com/NervJS/taro/issues/7524
相关平台
微信小程序
小程序基础库: 2.12.2 使用框架: React
复现步骤
npm run dev:weapp npm run mock
期望结果
如何避免这种情况
实际结果
环境信息