0
我想根據不同的param在一個Component中渲染不同的視圖,這些視圖來自一些模板。 Main.js
如何使用一些參數來獲取React組件
render() {
const{ data, isEdit } = this.props
console.log('Detail data:', data)
console.log('isEdit:', isEdit)
return <div>
{getView(data)}
</div>
}
getView
function getView(data) {
let modelName = getModelName(data.PolciyName)
modelName = 'M1'
if (modelName) {
let Model = require(`./models/${modelName}`)
console.log('getView- modelName', modelName)
console.log('typeof', typeof M1) //Object
return <div><Model data={data} /></div>
} else {
return <div>no data</div>
}
}
M1
function M1(data) {
return <div>
<h2>{data.name}</h2>
</div>
}
這個代碼不能正常工作,它會得到一個錯誤。 Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. Check the render method of
.
主要
'getView'是一個導入函數,來自'。/ viewUtils''的import {getView},所以'this.getView'是'undefined' – taven