小编Mic*_*ael的帖子

可能未处理的承诺拒绝未定义不是函数

我正在使用 React Native。我已经查看过什么是未处理的承诺拒绝?,但我完全看不懂。

当我创建一个组件时:

render(){
    const MenuComponent = (
      <MenuScreen CloseSlideMenu={this.SlideMenu.CloseSlideMenu} />
    )
    ...
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

'可能未处理的承诺拒绝(ID:0)类型错误:未定义不是函数(评估'_this.OpenSlideMenu.bind(true)。then(function(){}))'

this.OpenSlideMenu()constructor().

constructor (props, context) {
  super(props, context)

  this.OpenSlideMenu = this.OpenSlideMenu.bind(true).catch(function(e){
    console.log("Promise Rejected");
  });
  this.CloseSlideMenu = this.CloseSlideMenu.bind(true).catch(function(e){
    console.log("Promise Rejected");
  });
}
Run Code Online (Sandbox Code Playgroud)

this.drawer 在 render() 方法中声明:

render () {
  const MenuComponent = (
    <MenuScreen CloseSlideMenu={this.SlideMenu.CloseSlideMenu} />
  )

  return (
    <Drawer
      ref={(ref) => this.drawer = ref}
      content={MenuComponent}
      tapToClose={true}
      openDrawerOffset={170}
      stles={drawerStyles}
      panCloseMask={0.2}
      closedDrawerOffset={-3}
      styles={drawerStyles}
      tweenHandler={(ratio) => ({
        main: { opacity: (2-ratio)/2 } …
Run Code Online (Sandbox Code Playgroud)

javascript es6-promise react-native

5
推荐指数
1
解决办法
1万
查看次数

失败的prop类型:提供给'TextInput'的'object'类型的无效prop'value'

我有以下TextInput组件:

<TextInput value={this.state.inputText}
  maxLength={1}
  onSubmitEditing={this.textHandler}
  onChangeText={(text) => this.setState({inputText: text})} />
Run Code Online (Sandbox Code Playgroud)

当我将输入更改为”并提交(在TextInput中)时,出现以下错误:“失败的prop类型:提供给'TextInput'的'object'类型的无效prop'value'

我尝试删除每个回调,显然是由于“ onSubmitEditing”而引发了错误。

textHandler = (text) => {

  if(text == '' || text == '-' ){
    text = '0';
  }

  this.setState({inputText: text});
}
Run Code Online (Sandbox Code Playgroud)

如何使回调仅在文本是字符串而不是对象的情况下被调用?

javascript textinput react-native

3
推荐指数
2
解决办法
5822
查看次数

标签 统计

javascript ×2

react-native ×2

es6-promise ×1

textinput ×1