代码之家  ›  专栏  ›  技术社区  ›  greW

传递mobx react form对象作为道具

  •  2
  • greW  · 技术社区  · 8 年前

    我想通过 mobx-react-form <NameEditor form={ newFolderForm }/> NameEditor 但它不允许我“编辑”字段。。字段不可编辑, 但是当我这样调用组件时 { NameEditor({ form: newFolderForm }) } 它工作得很好,我错过了什么?在功能组件中,这两种方式不应该是相同的吗?

    编辑:以下是我获取表单的方式

    const NameEditor = ({ form }) => (
     <form onSubmit={ form.onSubmit }>
      <input { ...form.$('name').bind() }/>
      <p>{ form.$('name').error }</p>
      <button>Save</button>
     </form>
    )
    

    1 回复  |  直到 8 年前
        1
  •  1
  •   Danny    8 年前

    确保您正在使用 observer()

    const NameEditor = observer(({ form }) => (
     <form onSubmit={ form.onSubmit }>
      <input { ...form.$('name').bind() }/>
      <p>{ form.$('name').error }</p>
      <button>Save</button>
     </form>
    ))
    

    https://mobx.js.org/refguide/observer-component.html 阅读它如何与无状态功能组件一起工作