javascript - onClick 按钮调用另一个组件的方法

标签 javascript reactjs onclick

我的一个组件中有一个按钮。通过单击它,我想在页面上呈现列表的所有项目。如果没有按钮,如果我只写 {this.functionName},我可以看到页面上的所有项目 但是当我写的时候

<input type="submit" value="press" onClick={this.functionName} />

我什么也看不到。我尝试以不同的方式将其绑定(bind)到此,但没有成功。 我还想我可以将按钮移动到主页和下面 <Component/>

<input type="submit" value="press" onClick={Component.functionName} />   

但是它没有起作用。我通过替换 Component.functionName 注意到的唯一一件事通过console.log('sth')是,无需单击任何刷新,“sth”就会打印到控制台

我已经检查过该网站,并尝试了我能找到的任何答案,但没有成功。 该组件是:

module.exports = React.createClass({
mixins: [
    Reflux.listenTo(TopicStore, 'onChange')
],
getInitialState: function(){
    return{
     topics: []
    }
},  

render: function(){
    return <div className="list-group">
    TopicList
    {this.renderTopics()}

</div>
},

renderTopics: function(){
    return this.state.topics.map(function(topic){
        return <li>
            {topic}
        </li>
    });
},

这个工作正常并列出了页面上主题中的所有项目 但如果我替换 {this.renderTopics}与“输入”不再工作

最佳答案

使用按钮代替输入并使用绑定(bind)

<button type="submit" value="press" onClick={this.functionName.bind(this)} />

关于javascript - onClick 按钮调用另一个组件的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38540133/

相关文章:

javascript - 更改此对象属性时出现错误 "Uncaught TypeError"- JavaScript

android - 在 onClick 事件中获取 View 的 id 作为 String

javascript - 查询 : Get div defined in same table row

Javascript 泛光灯跟踪 iframe 使浏览器窗口空白,请帮忙!

javascript - 在 Node JS 中实现 Bluebird 嵌套循环 Promise

javascript - 如何在 javascript 生成的元素中设置名称区分大小写的属性

javascript - 我需要在设置跟踪代码 piwik 中包含所有方法吗?

reactjs - 为什么子组件不随父组件的状态更新?

javascript - react : Component re-renders only when method is finished

javascript - 使用 fetch 的 React 组件不会从响应中填充状态