【发布时间】:2018-06-07 18:08:20
【问题描述】:
我正在尝试将这种风格的流类型注释添加到我的组件中(来自React typeReference)
class Foo extends React.Component<{}> {}
function Bar(props: {}) {}
(<Foo />: React.Element<typeof Foo>); // OK
(<Bar />: React.Element<typeof Bar>); // OK
(<Foo />: React.Element<typeof Bar>); // Error: Foo is not Bar
我的尝试:
import React, { Component } from 'react'
import type { Node, Element } from 'react'
class AlertModalComponent extends Component<iAlertModal, State> {
render(): Node {
return (
<View style={alertModalStyle.container}>
(<PresentationalModal
style={{ backgroundColor: 'transparent' }}
isOpen={this.props.isOpen}
title={this.props.title}
message={this.props.message}
updateAlertModalHeight={this.props.updateAlertModalHeight}
viewHeight={this.props.viewHeight}
hasYesNo={this.props.hasYesNo}
yesClicked={this.props.yesClicked}
updateAlertModalIsOpen={this.props.updateAlertModalIsOpen}
/>: Element<typeof PresentationalModal>)
</View>
)
}
}
// $FlowFixMe
export default connect(mapStateToProps, mapDispatchToProps)(AlertModalComponent)
AlertModalComponent.contextTypes = {
store: PropTypes.object
}
const PresentationalModal: Function = ({
isOpen,
title,...
}: AlertModal) => {
console.log('presentational modal yes no')
return (
<Modal style={alertModalStyle.modal} isVisible={isOpen}>
...
错误:
<typeof>的预期对应 JSX 结束标记
它认为<typeof> 是一个jsx 标签。这个错误的解决方法是什么?
【问题讨论】:
标签: reactjs react-native jsx flowtype