Reminder: strip quotes from attributes with JS code (#8806)

* Reminder: strip quotes from attributes with JS code

Web developers who are used to standards-compliant HTML and XML will, out of habit, put quotes around all attributes because the standards require them. Other templating systems like ASP.NET also require (or at least allow) quotes around attributes that contain code. This behavior will get users into trouble in JSX because a quoted attribute is always treated as a string literal, even if it contains curly-braced javascript code.  Let's add to the docs to help newbies evade this problem.

* Tweak wording
This commit is contained in:
Justin Grant
2017-01-23 09:09:35 -08:00
committed by Dan Abramov
parent 19b5ce72c1
commit f7ea62e491

View File

@@ -79,6 +79,8 @@ You may also use curly braces to embed a JavaScript expression in an attribute:
const element = <img src={user.avatarUrl}></img>;
```
Don't put quotes around curly braces when embedding a JavaScript expression in an attribute. Otherwise JSX will treat the attribute as a string literal rather than an expression. You should either use quotes (for string values) or curly braces (for expressions), but not both in the same attribute.
### Specifying Children with JSX
If a tag is empty, you may close it immediately with `/>`, like XML: