如何在render函数中调用函数?

德普尔

如果我尝试调用该fetchToken()函数,它只是说它不是一个函数。如果我把它放在外面渲染功能的this.propsundefined,我不能够调用它。

class LoginPage extends Component {


    componentDidMount() {
        Linking.addEventListener('url', this.handleOpenURL);
    }
    componentWillUnmount() {
        Linking.removeEventListener('url', this.handleOpenURL);
    }
    handleOpenURL(event) {
        let code = event.slice(22,86);
        console.log(code);
        this.fetchToken(code)
    }
  
  render() {

        function fetchToken(code) {
            this.props.actions.fetchToken(code)
        }
        
        return (
            <View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
                <TouchableHighlight style={{backgroundColor: '#9b59b6', height: 70, padding: 20}} onPress={this.openAuth.bind(this)}>
                    <View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
                        <Text style={{color: 'white', fontSize: 16}}>Authenticate with Dribbble</Text>
                    </View>
                </TouchableHighlight>
            </View>
        )
    }
}

普里

将此绑定到构造函数中

您必须将实例绑定this到函数。它是建议为此在构造函数中。

class LoginPage extends Component {
constructor(props) {
    super(props);
    this.handleOpenURL = this.handleOpenURL.bind(this);
}

componentDidMount() {
    Linking.addEventListener('url', this.handleOpenURL);
}
componentWillUnmount() {
    Linking.removeEventListener('url', this.handleOpenURL);
}
handleOpenURL(event) {
    let code = event.slice(22,86);
    console.log(code);         
    this.props.actions.fetchToken(code);
}

 render() {

    return (
        <View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
            <TouchableHighlight style={{backgroundColor: '#9b59b6', height: 70, padding: 20}} onPress={this.openAuth.bind(this)}>
                <View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
                    <Text style={{color: 'white', fontSize: 16}}>Authenticate with Dribbble</Text>
                </View>
            </TouchableHighlight>
        </View>
    )
}

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在render函数中调用函数?

来自分类Dev

在React render中调用函数

来自分类Dev

如何在javascript中的主函数中调用函数

来自分类Dev

如何在javascript中的主函数中调用函数

来自分类Dev

如何在C中调用Rust函数?

来自分类Dev

如何在JQuery中动态调用函数

来自分类Dev

如何在SpookyJS中调用函数?

来自分类Dev

如何在VBA中调用Bloomberg函数

来自分类Dev

如何在Python中覆盖函数调用?

来自分类Dev

如何在VBA中调用JavaScript函数?

来自分类Dev

如何在JavaScript中调用jquery函数?

来自分类Dev

如何在iframe中调用javascript函数?

来自分类Dev

如何在Dart中调用jquery的$函数

来自分类Dev

如何在PHP中调用随机函数

来自分类Dev

如何在js文件中调用函数?

来自分类Dev

如何在Hibernate中调用Oracle函数

来自分类Dev

如何在<a>标记中调用onclick函数?

来自分类Dev

如何在IIFE中调用函数

来自分类Dev

如何在JSP中调用JS函数?

来自分类Dev

如何在Ruby中调用函数

来自分类Dev

如何在JavaScript中调用嵌套函数?

来自分类Dev

如何在LLVM中调用函数

来自分类Dev

如何在伪代码中调用函数?

来自分类Dev

如何在mybatis中调用oracle函数

来自分类Dev

如何在Elixir中调用Erlang函数

来自分类Dev

如何在方案中调用函数?

来自分类Dev

如何在函数中调用Form

来自分类Dev

如何在类中调用函数?

来自分类Dev

如何在PHP中调用函数