5 ms·
Straight from the react docs [1]: if (isLoggedIn) { return <UserGreeting />; } How is that different? [1] https://reactjs.org/docs/conditional-render
by kabes 9y ago
Straight from the react docs [1]:
if (isLoggedIn) {
return <UserGreeting />;
}
How is that different?
[1] https://reactjs.org/docs/conditional-rendering.html https://reactjs.org/docs/conditional-rendering.html
- deleted 9y ago[deleted]
- winterbe 9y agoThe difference is that the JSX snippet is translated in plain JavaScript which means you can automatically check for syntax errors, type errors (when using TypeScript or Flow) and semantical errors (by writing simple unit tests), whereas the PHP snippet is just a big mess. JSX also runs on clients, servers and mobile devices which is a big plus to me. This is fine: <?php if (condition) { ?> <div>whatever</div> <?php { ?> this not: if (isLoggedIn) { return <UserGreeting />; {
- dmitriid 9y agoDid you read what I wrote? https://news.ycombinator.com/item?id=16918654 https://news.ycombinator.com/item?id=16918654
- tootie 9y agoThis is the official example of using context from the react doc function ThemedButton(props) { return ( <ThemeContext.Consumer> {theme => ( <button {...props} style=. {{backgroundColor: theme.background}} /> )} </ThemeContext.Consumer> ); } I've been writing JavaScript for 15 years and this looks like gibberish to me. There's at least 3 context switches between JavaScript, JSX and CSS. We're abandoning separation of concerns and creating a monstrosity of programming by punctuation.