2017-05-10 55 views
1

我想允许组件在按钮组件中传递或默认传递到组件中创建的实例。组件实例作为默认道具

说我有这样的组件:

const Form = ({ submitButton, children }) => 
    <form> 
    {childrem} 
    {submitButton || <OtherComponent/>} 
    </form> 

我怎样才能做到这一点?

回答

1

你可以通过按钮组件的道具,只是使用它的JSX:

const Form = ({ SubmitButtonComponent, children }) => 
    <form> 
    {childrem} 
    {SubmitButtonComponent ? <SubmitButtonComponent /> : <OtherComponent />} 
    </form> 
0

我认为这将是一个很好的用例ES2015默认功能参数:

const Form = ({ SubmitButtonComponent = OtherComponent, children }) => 
    <form> 
    {children} 
    <SubmitButtonComponent/> 
    </form> 

这应该在语义上等同于上面给出的答案。