无法在react-native中调用父方法

时间:2019-08-07 11:31:29

标签: react-native

我需要调用方法nameList()。这是父方法。但这对我不起作用。我的代码片段如下。

下面是我的代码段引用,任何答复都应得到赞赏。我需要对此进行澄清

nameList = refName => () => {
if(!nameList){
   get call
 }
else(){
   update call
 }
}

renderNamesRight(selectedName) {
    if (selectedNames.length > 0 ) {
      return(
        this.renderCenterNames()
      )
  }
}

renderCenterNames(){
    if (!this.state.pressedCenterNames) {
      return(
        <TouchableOpacity onPress = {()=> this.validateInputFields()} activeOpacity = { .5 }>
          <Text style = {styles.names}>CENTER NAMES</Text>
        </TouchableOpacity>
      )
    } else {
      return(
          <Text style = {styles.names}>RIGHT  NAMES</Text>
      )
    }
  }


validateInputFields() {
     const { validation} = this.state;

     if (this.state.name) {
       alert("validation")
       validation.isFormValid = true;
       this.setState({validation: validation});
       this.nameList("name")
    } else {

      validation.isFormValid = false;

      this.setState({validation: validation});
    }
  }

1 个答案:

答案 0 :(得分:2)

这不是您定义函数的方式。如果您需要一个没有参数的函数,则必须像这样FunctionName = () => {}或使用参数FunctionName = (parameters) => {}来定义。

如果函数中只有一个参数,您也可以不使用()来声明它,例如FunctionName = parameter => {}

替换您的方法定义

nameList = refName => () => {

与此

 nameList = (refName) => {