如何在React中设置子组件的处理程序?

时间:2016-03-14 12:01:32

标签: javascript reactjs

我正在尝试设置我构建的Select组件的onChange。 我的2个组件是Profile和Select。 我不知道为什么但永远不会进入处理程序。

我的代码(个人资料):

@Profile = React.createClass
  handleGender: ->
   console.log('here we go')
  render: ->
    React.createElement Select, { options: @props.gender, onChange: @handleGender }

选择组件

@Select = React.createClass
 render: ->
  select
   className: "select"
   for v, k in @props.options
    option
      key:       k
      value:     v
      className: "option"
      v

我尝试了几件事,但它不起作用。

1 个答案:

答案 0 :(得分:1)

正如@Sigfried指出的那样,如果你想让最后的onChange事件弹出到第一个组件,你必须转发select道具:

@Select = React.createClass
 render: ->
  select
   className: "select"
   onChange: @props.onChange 
   for v, k in @props.options
    option
      key:       k
      value:     v
      className: "option"
      v

作为旁注,通常不建议将现有的HTML组件名称用于自定义组件,因为它可能会令人困惑。如果您为组件命名,请说GenderSelect,这将是一个自定义组件,而不是开箱即用的onChange事件。