Is there a way to add properties to a React component only when certain conditions are met?
I need to add required and readOnly attributes to the form element based on conditions in the post-rendered Ajax call, but I don't know how to solve this problem because readOnly="false"
is completely different from Omitting attributes is different.
The example below should illustrate what I want, but it doesn't work.
(Parse error: unexpected identifier)
function MyInput({isRequired}) { return }
juandemarco's answeris usually correct, but there is another option here.
Construct an object to your liking:
Use spread for rendering, and you can also choose to pass other props.
Obviously, for some properties, if the value passed to React is not a true value, React will intelligently omit the property. For example:
will get:
UPDATE:If anyone is curious about how and why this happens, you can find the details in the source code of ReactDOM, specifically in theDOMProperty.jsfile at page 30 Lines and167 lines.