2017-05-10 2 views
1

Ich möchte zulassen, dass eine Komponente in einer Button-Komponente oder standardmäßig an eine in der Komponente erstellte Instanz übergeben wird.Komponenteninstanz als Standardrequisite

sagen, dass ich eine Komponente wie dieses:

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

Wie kann ich das erreichen?

Antwort

1

Sie können Button-Komponente an die Stützen passieren und es einfach in jsx verwenden:

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

Ich denke, das ist ein guter Anwendungsfall für ES2015 Standardfunktionsparameter sein würde:

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

Dies sollte semantisch äquivalent zu der oben gegebenen Antwort sein.

Verwandte Themen