2017-03-16 87 views
0
fireOne(){ 

} 

render(){ 
    return(
    <p onClick={this.fireOne.bind(this)}></p> 
    ) 
} 

我可以使用2个函数绑定一个事件吗?一个函数是针对当前组件的,我也想把一些东西传递给子组件。在某个事件中发生火灾多重功能

+1

如果你想下来的东西传递给孩子,那么你可以设置的状态点击父组件,然后将其作为道具传递给儿童。 – lavish

回答

1

我觉得这是你想acomplish什么,但我不能完全肯定:

class MyComponent extends React.Component { 
 

 
    foo1 =() => { console.log('ahh');} 
 
    
 
    foo2 =() => { console.log('beh');} 
 
    
 
    render() { 
 
    return(<div onClick={() => { 
 
     this.foo1(); 
 
     this.foo2(); 
 
    }}>AHH </div>) 
 
    } 
 
} 
 

 
ReactDOM.render(<MyComponent />, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> 
 

 
<div id="root"/>

+0

为什么使用箭头功能?为什么它不是'foo1(){...}'? –

+0

没错,你可以在没有箭头的情况下使用它,特别是如果你没有在这里引用'this'的话。然而,如果你不喜欢看到“function”这个词,那么使用箭头函数也会起作用,它只是取决于你,只是确保你知道何时使用它。 – JohnnyQ

+0

@giala在你的问题上你有:this.fireOne.bind(this),所以我认为你想保持上下文,这是一个更好的方式来做到这一点,性能明智。 – ospfranco