我有一个反应成分

const Example = () => (<View>...</View>);

使用react导航,我通常会通过以下方式应用导航选项
Example.navigationOptions = { options };

用typescript我得到了错误
[ts] Property 'navigationOptions' does not exist on type '(props: Props) => Element'.
我该怎么解决?
我试着写一个界面
interface ExampleWithNavigationOptions extends Element {
    navigationOptions?;
}

但是运气不好。

最佳答案

关键思想是为Example常量指定正确的类型。可能,react-navigation已经提供了这种类型。但是,您也可以像这样扩展内置React接口smth:

    interface NavStatelessComponent extends React.StatelessComponent {
        navigationOptions?: Object
    }

    const Example: NavStatelessComponent = () => {
        return (
            <View>
               ...
            </View>
        )
    }

    Example.navigationOptions = {
        /*
        ...
        */
    }

    Example.propTypes = {
        /*
        ...
        */
    }

关于reactjs - 如何使用Typescript在无状态组件上设置navigationOptions,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49117173/

10-11 05:47