反应本机-TypeError:this.addItem.bind

时间:2018-10-05 07:02:00

标签: reactjs react-native bind

我正在尝试学习React并制作待办事项清单。

我收到此错误:

  

TypeError:未定义不是对象(正在声明'this.addItem.bind')

我认为该错误与'addItem'函数有关,但我找不到问题。

我该如何解决这个问题?

这是代码:

import MyButton from './button';

  const listItems = ["Ödevini Yap","İşe Git"];

export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.addItem = this.addItem.bind(this);
  }

  state = {
    toDo: '',
  }

  AddItem() {
    console.warn('App::addItem', this.state.toDo);
    this.setState({ toDo: '' })
  }

  renderItem(item) {
    return(
      <View>
          <Text>{item}</Text>
      </View>
    )
  }

  render() {
    return (
      <View>
        <View>
          <View>
            <TextInput value = { this.state.toDo } onChangeText = {(v) => this.setState({ toDo: v }) } placeholder = 'Enter ToDo Item'></TextInput>
          </View>
          <View>
            <MyButton onPress = {this.AddItem} text = {'Ekle'}></MyButton>
          </View>
        </View>
        <ScrollView>
          {
            listItems.map( (item) => this.renderItem(item) )
          }
        </ScrollView>
      </View>
    );
  }
}

3 个答案:

答案 0 :(得分:0)

这是一个错字

this.AddItem = this.AddItem.bind(this); //fixed

答案 1 :(得分:0)

更改

this.addItem = this.addItem.bind(this);

this.addItem = this.AddItem.bind(this);

答案 2 :(得分:0)

您犯了错字错误

更改

AddItem() {
    console.warn('App::addItem', this.state.toDo);
    this.setState({ toDo: '' })
  }

收件人

addItem() {
    console.warn('App::addItem', this.state.toDo);
    this.setState({ toDo: '' })
  }