【发布时间】:2017-07-14 19:24:56
【问题描述】:
我正在使用 Leafet 从应用程序上较大的地图组件中提取一个小组件,似乎不可能将 JSX 包含到 Leafet DivIcon 的 html 字符串中。
更大的地图组件渲染部分:
render () {
const {tobject, strings} = this.props
let circle = classes.redCircle
if (tobject.lastPoint.activeEvents.ignition) {
circle = classes.greenCircle
}
const icon = new window. L. DivIcon({
html:
` <div class= ${classes.tobjecticon}><span class= ${classes.tobjecticontext}><div class= ${circle}></div></span></div> `
})
新提取的组件StatusCircle.js:
import React from 'react'
import classes from './StatusCircle.scss'
export const StatusCircle = ({ status}) => {
let circle = classes.redCircle
if (status) {
circle = classes.greenCircle
}
return (
<div className={circle} ></div>
)
}
export default StatusCircle
我的问题似乎类似于this one。我已经尝试过 StatusCircle 的 renderToString(),但是使用了 ReactDOM(在那里已弃用)而不是 ReactDOMServer,并且说没有这样的功能是行不通的。是否可以使用 ReactDOMServer.renderToString() 或 .renderToStaticMarkup() 来实现这一点,还是最好保持不变而不进行提取?
【问题讨论】:
标签: react-redux