javascript - 调用父函数 onChange

标签 javascript reactjs

这是我的组件的一个片段:

...

  handleChange(event) {
    this.setState({text: event.target.value});
    this.props.onChange;
  }

  //Render
  render() {
    return (
      <input
        onChange={ this.handleChange.bind(this) }
        value={ this.state.text }
        type="text" />
    );
  }
}

...

我通过以下方式在另一个组件中调用

searchListing(event) {
    console.log("Test");
  }

  //Render
  render() {
    return (
      <div className="story-block-content">
        <TextInput onChange={this.searchListing.bind(this)} />
      </div>
    );
  }

我假设 onClick 会通过,每次我键入内容时,我都会在控制台中看到“测试”打印。但事实并非如此,因为我什么都看不到。

但是,如果我将 this.props.onChange; 包装在 console.log 中的第一个组件中,就像这样 console.log(this.props.onChange) 我会得到以下信息控制台输出:

    function searchListing(event) {
      console.log("Test");
    }

所以我认为 onClick 正在执行,但没有以某种方式调用函数。

最佳答案

你必须调用onChange

handleChange(event) {
    this.setState({text: event.target.value});
    this.props.onChange(); // <-- you forgot ()
    // or like this if you want to pass event:
    //this.props.onChange(event);
    // or like this to pass new value:
    //this.props.onChange(event.target.value);
}

关于javascript - 调用父函数 onChange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35438375/

相关文章:

reactjs - 使用 React 将类更改为元素

javascript - Flask 和 Ajax 发布 HTTP 400 错误请求错误

javascript - 在具有两个元素的数组中查找正点元素javascript

javascript - 在 Node Express 应用程序的模块中使用变量

javascript - react /归零 : TypeError: Cannot read property 'target' of undefined

javascript - 如何使用 react-route 链接刷新页面

javascript - 使用 validator.js 的电子邮件验证无法正常工作

javascript - 将 PHP 变量传递给 Javascript 再返回给 PHP?

reactjs - 添加具有 Material 表的组件会更改 Material-UI AppBar 样式

javascript - 如何正确设置组件的状态而不在每次重新渲染时都将其删除?