- ReactJS by Example:Building Modern Web Applications with React
- Vipul A M Prathamesh Sonpatki
- 247字
- 2021-07-09 19:36:59
JavaScript expressions
"Shawn, let's discuss a bit about how we have rendered the Rows
and Headings
tag."
render: function() { var headings = this.props.headings.map(function(name) { return(<Heading heading = {name}/>); }); return <tr>{headings}</tr>; }
"We are rendering {headings}
, which is a list of React components, directly by adding them in curly braces as children of the <tr>
tag. These expressions that are used to specify the child components are called child expressions."
"There is another category of expressions called as JavaScript expressions. These are simple expressions used for passing props or evaluating some JavaScript code that can be used as an attribute value."
// Passing props as expressions ReactDOM.render(<App headings = {['When', 'Who', 'Description']} data = {data} />, document.getElementById('container')); // Evaluating expressions ReactDOM.render(<App headings = {['When', 'Who', 'Description']} data = {data.length > 0 ? data : ''} />, document.getElementById('container'));
"Anything that is present in curly braces is evaluated by JSX. It works for both children expressions as well as JavaScript expressions," added Mike.
"Thanks for the detailed explanation. I have a query though. Is there any way to write comments in the JSX code? I mean, we may not need it all the time, but knowing how to add comments might be handy," Shawn asked.
"Remember the curly braces rule. Comments are simply just JavaScript expressions. When we are in a child element, just wrap the comments in the curly braces."
render: function() { return(<th> {/* This is a comment */} {this.props.heading} </th>); }
"You can also add comments in a JSX tag. There is no need to wrap them in curly braces in this case," Mike added.
ReactDOM.render(<App /* Multi Line Comment */ headings = {headings} changeSets = {data} />, document.getElementById('container'));
- 算法訓練營:入門篇(全彩版)
- 華為HMS生態與應用開發實戰
- 精通API架構:設計、運維與演進
- React.js Essentials
- 名師講壇:Spring實戰開發(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- Linux命令行與shell腳本編程大全(第4版)
- Unreal Engine 4 Shaders and Effects Cookbook
- Node Cookbook(Second Edition)
- C#程序設計教程(第3版)
- Instant Automapper
- STM8實戰
- 軟件設計模式(Java版)
- 用Python動手學統計學
- Scala編程(第4版)
- Swift 2 Blueprints