1
我有一個使用道具作爲渲染組件的組件。由於React提供了很多方法來創建組件類,這個道具的類型註釋應該是什麼?React可以渲染什麼類型的東西?
在下面的示例中,Wrap的正確類型註釋是什麼?
import React from 'react'
function Wrap ({ component: Component }) {
return <Component foo />
}
class ClassComponent extends React.Component {
render() {
return <div>foo: {this.props.foo}</div>
}
}
class ClassPureComponent extends React.PureComponent {
render() {
return <div>foo: {this.props.foo}</div>
}
}
const CreateClassComponent = ReactClass.createClass({
render() {
return <div>foo: {this.props.foo}</div>
}
})
function PureFunctionComponent ({ foo }) {
return <div>foo: {foo}</div>
}
// These should all be valid
<Wrap component={ClassComponent} />
<Wrap component={ClassPureComponent} />
<Wrap component={CreateClassComponent} />
<Wrap component={PureFunctionComponent} />
'Wrap'組件不使用'component'屬性。 應該呈現' '而不是' '? –