Home > Computing and Information Technology > Computer science > Human–computer interaction > User interface design and usability > Beginning ReactJS Foundations Building User Interfaces with ReactJS: An Approachable Guide
41%
Beginning ReactJS Foundations Building User Interfaces with ReactJS: An Approachable Guide

Beginning ReactJS Foundations Building User Interfaces with ReactJS: An Approachable Guide

4.5       |  4 Reviews 
5
4
3
2
1

International Edition


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Quantity:
Add to Wishlist

About the Book

Quickly learn the most widely used front-end development language with ease and confidence React JS Foundations: Building User Interfaces with ReactJS - An Approachable Guide walks readers through the fundamental concepts of programming with the explosively popular front-end tool known as React JS. Written by an accomplished full-stack engineer, speaker, and community organizer, React JS Foundations teaches readers how to understand React and how to begin building applications with it. The book: Explains and clarifies technical terminology with relevant and modern examples to assist people new to programming understand the language Helps experienced programmers quickly get up to speed with React Is stocked throughout with practical and applicable examples of day-to-day React work Perfect for beginner, intermediate, and advanced programmers alike, React JS Foundations will quickly bring you up to speed on one of the most useful and widely used front-end languages on the web today. You can start building your first application today.

Table of Contents:
Introduction Xxvii Chapter 1: Hello, World! 1 React without a Build Toolchain 1 Interactive “Hello, World” with Create React App and JSX 7 Summary 9 Chapter 2: The Foundation of React 11 What’s in a Name? 11 UI Layer 12 Virtual DOM 13 The Philosophy of React 14 Thinking in Components 15 Composition vs. Inheritance 15 React Is Declarative 16 React Is Idiomatic 17 Why Learn React? 17 React vs.... 18 React vs. Angular 18 React vs. Vue 19 What React Is Not 19 React Is Not a Web Server 20 React Is Not a Programming Language 20 React Is Not a Database Server 21 React Is Not a Development Environment 21 React Is Not the Perfect Solution to Every Problem 21 Summary 21 Chapter 3: JSX 23 JSX Is Not HTML 23 What Is JSX? 30 How JSX Works 30 Transpiler . . . Huh? 31 Compilation vs. Transpilation 31 JSX Transform 31 Introducing Babel 31 Eliminating Browser Incompatibilities 33 Syntax Basics of JSX 33 JSX Is JavaScript XML 33 Beware of Reserved Words 33 JSX Uses camelCase 33 Preface Custom Attributes in DOM Elements with data-34 JSX Boolean Attributes 34 Use Curly Braces to Include Literal JavaScript 35 Remember to Use Double Curly Braces with Objects 35 Put Comments in Curly Braces 35 When to Use JavaScript in JSX 36 Conditionals in JSX 36 Conditional Rendering with if/else and Element Variables 36 Conditional Rendering with the && Operator 37 Conditional Rendering with the Conditional Operator 38 Expressions in JSX 38 Using Children in JSX 40 React Fragments 40 Summary 41 Chapter 4: All About Components 43 What Is a Component? 43 Components vs. Elements 44 Components Define Elements 44 Elements Invoke Components 45 Built-in Components 47 HTML Element Components 47 Attributes vs. Props 52 Passing Props 52 Accessing Props 52 Standard HTML Attributes 54 Non-Standard Attributes 56 Custom Attributes 56 User-Defined Components 56 Types of Components 56 Class Components 57 Stepping through a React Class Component 68 React.Component 68 Importing React.Component 68 The Class Header 69 The Constructor Function 69 Managing State in Class Components 71 The Render Function 73 Creating and Using Props 74 Function Components 76 What Are Function Components? 79 How to Write Function Components 79 Optimizations and Function Component Shortcuts 80 Managing State in Function Components 83 Differences between Function and Class Components 84 React Component Children 84 this.props.children 85 Manipulating Children 86 React.Children 86 isValidElement 87 cloneElement 87 The Component Lifecycle 89 Mounting 90 constructor() 90 static getDerivedStateFromProps 90 render 90 componentDidMount() 90 Updating 90 shouldComponentUpdate 91 getSnapshotBeforeUpdate 91 componentDidUpdate 92 Unmounting 92 componentWillUnmount 92 Error Handling 92 getDerivedStateFromError 92 componentDidCatch 92 Improving Performance and Avoiding Errors 92 Avoiding Memory Leaks 93 React.PureComponent 96 React.memo 97 React.StrictMode 98 Rendering Components 98 Rendering with ReactDOM 98 Virtual DOM 100 Other Rendering Engines 101 React Native 101 ReactDOMServer 102 React Konsul 103 react-pdf 103 Component Terminology 103 Summary 104 Chapter 5: React Devtools 105 Installation and Getting Started 105 Inspecting Components 107 Working with the Component Tree 108 Searching for Components 110 Using the Search Input Box 110 Using Regular Expressions 110 Filtering Components 112 Selecting Components 114 Editing Component Data in DevTools 114 Working with Additional DevTools Functionality 118 Profiling 119 Summary 121 Chapter 6: React Data Flow 123 One-Way Data Flow 123 Understanding One-Way Data Flow 124 Why One-Way Data Flow? 125 Props 126 Components Receive Props 126 Props Can Be Any Data Type 126 Props Are Read-Only 127 Validating Incoming Props with PropTypes 129 What Is PropTypes? 130 Getting Started with PropTypes 131 What Can PropTypes Validate? 133 Default Props 141 React State 145 What Is state? 146 Initializing state 146 Initializing state in Class Components 146 Initializing State in Function Components 147 The Difference between state and props 149 Updating state 149 Updating a Class Component’s state with setState 150 Updating state with Function Components 154 What to Put in State 161 Building the Reminders App 161 What Not to Put in State 168 Where to Put State 168 Lifting State Up 170 About the key Prop 177 Filtering the Reminders 183 Implementing the isComplete Changing Functionality 188 Converting to Class Components 190 Summary 198 Chapter 7: Events 199 How Events Work in React 199 What Is SyntheticEvent? 201 Using Event Listener Attributes 202 The Event Object 203 Supported Events 204 Event Handler Functions 211 Writing Inline Event Handlers 211 Writing Event Handlers in Function Components 212 Writing Event Handlers in Class Components 213 Binding Event Handler Functions 214 Using bind 215 Using Arrow Functions 216 Passing Data to Event Handlers 218 Summary 219 Chapter 8: Forms 221 Forms Have State 221 Controlled Inputs vs. Uncontrolled Inputs 222 Updating a Controlled Input 223 Controlling an Input in a Function Component 224 Controlling an Input in a Class Component 224 Lifting Up Input State 226 Using Uncontrolled Inputs 228 Using Different Form Elements 229 Controlling the Input Element 230 Controlling a textarea 230 Controlling a Select Element 231 Preventing Default Actions 231 Summary 232 Chapter 9: Refs 233 What Refs Are 233 How to Create a Ref in a Class Component 234 How to Create a Ref in a Function Component 234 Using Refs 234 Creating a Callback Ref 236 When to Use Refs 238 When Not to Use Refs 238 Examples 239 Managing Focus 239 Automatically Selecting Text 239 Controlling Media Playback 241 Setting Scroll Position 241 Summary 242 Chapter 10: Styling React 243 The Importance of Styles 243 Importing CSS into the HTML File 244 Using Plain Old CSS in Components 245 Writing Inline Styles 247 JavaScript Style Syntax 248 Why to Use Inline Styles 249 Why Not to Use Inline Styles 249 Improving Inline Styles with Style Modules 249 CSS Modules 250 Naming CSS Module Files 251 Advanced CSS Modules Functionality 252 Global Classes 252 Class Composition 252 CSS-in- JS and Styled Components 253 Summary 255 Chapter 11: Introducing Hooks 257 What Are Hooks? 257 Why Were Hooks Introduced? 257 Rules of Hooks 259 The Built-in Hooks 259 Managing State with useState 260 Setting the Initial State 262 Using the Setter Function 262 Passing a Value to a Setter 263 Passing a Function to a Setter 263 Setter Function Value Comparison 264 Hooking into the Lifecycle with useEffect 264 Using the Default useEffect Behavior 265 Cleaning Up After Effects 265 Customizing useEffect 266 Running Asynchronous Code with useEffect 270 Subscribing to Global Data with useContext 272 Combining Logic and State with useReducer 273 Memoized Callbacks with useCallback 275 Caching Computed Values with useMemo 278 Solving Unnecessary Renders 278 Solving Performance Problems 279 Accessing Children Imperatively with useRef 279 Customizing Exposed Values with useImperativeHandle 280 Updating the DOM Synchronously with useLayoutEffect 281 Writing Custom Hooks 281 Labeling Custom Hooks with useDebugValue 283 Finding and Using Custom Hooks 285 use-http 285 react-fetch-hook 286 axios-hooks 286 react-hook- form 286 @rehooks/local-storage 287 use-local- storage- state 287 Other Fun Hooks 288 Lists of Hooks 288 Summary 288 Chapter 12: Routing 289 What Is Routing? 289 How Routing Works in React 291 Using React Router 293 Installing and Importing react-router- dom 293 The Router Component 294 Selecting a Router 294 Using the Router Component 295 Linking to Routes 296 Internal Linking with Link 296 Internal Navigation with NavLink 298 Automatic Linking with Redirect 302 Creating Routes 302 Restricting Path Matching 304 Using URL Parameters 304 The component Prop 305 Render Props 306 Switching Routes 307 Rendering a Default Route 308 Routing with Redirect 308 Behind the Scenes: location, history, and match 309 The history Object 310 The location Object 313 The match Object 313 React Router Hooks 317 useHistory 317 useLocation 317 useParams 317 useRouteMatch 317 Summary 318 Chapter 13: Error Boundaries 319 The Best Laid Plans 319 What Is an Error Boundary? 320 Implementing an Error Boundary 323 Building Your Own ErrorBoundary Component 323 getDerivedStateFromErrors Is a Static Method 324 getDerivedStateFromErrors Runs During the Render Phase 325 getDerivedStateFromErrors Receives the Error as a Parameter 325 getDerivedStateFromErrors Should Return an Object for Updating State 325 Testing Your Boundary 326 Logging Errors with ComponentDidCatch() 327 Using a Logging Service 328 Resetting the State 333 Installing a Pre-Built ErrorBoundary Component 334 What Can’t an Error Boundary Catch? 336 Catching Errors in Error Boundaries with try/catch 336 Catching Errors in Event Handlers with react-error- boundary 337 Summary 338 Chapter 14: Deploying React 339 What Is Deployment? 339 Building an App 339 Running the build Script 340 Examining the build Directory 340 The Built index.html 341 The static Directory 342 asset-manifest. json 342 What’s in a Name? 343 How Is a Deployed App Different? 343 Development Mode vs. Production 343 Putting It on the Web 344 Web Server Hosting 344 Node Hosting 345 Deploying with Netlify 345 Enabling Routing with Netlify 347 Enabling Custom Domains and HTTPS 348 Summary 349 Chapter 15: Initialize a React Project from Scratch 351 Building Your Own Toolchain 351 Initializing Your Project 352 The HTML Document 352 The Main JavaScript File 353 The Root Component 353 Running in the Browser 354 How Webpack Works 357 Loaders 358 Plugins 358 Automating Your Build Process 358 Making an HTML Template 359 Development Server and Hot Reloading 360 Testing Tools 360 Installing and Configuring ESLint 360 ESLint Configuration 361 How to Fix Errors 362 Testing with Jest 363 Creating NPM Scripts 364 Structuring Your Source Directory 365 Grouping by File Type 366 Grouping by Features 367 Summary 367 Chapter 16: Fetching and Caching Data 369 Asynchronous Code: It’s All About Timing 369 JavaScript Never Sleeps 370 Where to Run Async Code in React 374 Ways to Fetch 376 Getting Data with Fetch 377 Getting Data with Axios 377 Using Web Storage 379 Two Types of Web Storage 379 When to Use Web Storage 380 When Not to Use Web Storage 380 Web Storage Is Synchronous 380 Working with localStorage 381 Storing Data with localStorage 381 Reading Data from localStorage 382 Removing Data from localStorage 384 Summary 385 Chapter 17: Context Api 387 What Is Prop Drilling? 387 How Context API Solves the Problem 388 Creating a Context 388 Creating a Provider 389 Consuming a Context 390 Using Context in a Class Component 390 Using Context in a Function Component 391 Common Use Cases for Context 391 When Not to Use Context 392 Composition as an Alternative to Context 392 Example App: User Preferences 396 Summary 398 Chapter 18: React Portals 399 What Is a Portal? 399 How to Make a Portal 399 Why Not Just Render Multiple Component Trees? 403 Common Use Cases 403 Rendering and Interacting with a Modal Dialog 404 Managing Keyboard Focus with Modals 409 Summary 411 Chapter 19: Accessibility in React 413 Why Is Accessibility Important? 413 Accessibility Basics 414 Web Content Accessibility Guidelines (WCAG) 414 Web Accessibility Initiative –Accessible Rich Internet Applications (WAI-ARIA) 415 Implementing Accessibility in React Components 415 ARIA Attributes in React 416 Semantic HTML 416 Form Accessibility 417 Focus Control in React 418 Skip Links 418 Managing Focus Programmatically 419 Media Queries in React 420 Media Queries in Included CSS 421 Using useMediaQuery 422 Summary 422 Chapter 20: Going Further 425 Testing 425 Mocha 426 Enzyme 426 Chai 427 Assert 427 Expect 428 Should 428 Karma 428 Nightwatch.js 428 Server-Side Rendering 429 Flux 430 Redux 430 GraphQL 432 Apollo 433 React Native 434 Next.js 434 Gatsby 434 People to Follow 435 Useful Links and Resources 435 Summary 436 Index 437 


Best Sellers


Product Details
  • ISBN-13: 9781119685548
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: John Wiley & Sons Inc
  • Height: 231 mm
  • No of Pages: 512
  • Spine Width: 36 mm
  • Weight: 816 gr
  • ISBN-10: 1119685540
  • Publisher Date: 05 May 2022
  • Binding: Paperback
  • Language: English
  • Returnable: N
  • Sub Title: An Approachable Guide
  • Width: 188 mm


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

4.5       |  4 Reviews 
out of (%) reviewers recommend this product
Top Reviews
Rating Snapshot
Select a row below to filter reviews.
5
4
3
2
1
Average Customer Ratings
4.5       |  4 Reviews 
00 of 0 Reviews
Sort by :
Active Filters

00 of 0 Reviews
SEARCH RESULTS
1–2 of 2 Reviews
    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!

    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!


Sample text
Photo of
    Media Viewer

    Sample text
    Reviews
    Reader Type:
    BoxerLover2
    00 of 0 review

    Your review was submitted!
    Beginning ReactJS Foundations Building User Interfaces with ReactJS: An Approachable Guide
    John Wiley & Sons Inc -
    Beginning ReactJS Foundations Building User Interfaces with ReactJS: An Approachable Guide
    Writing guidlines
    We want to publish your review, so please:
    • keep your review on the product. Review's that defame author's character will be rejected.
    • Keep your review focused on the product.
    • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
    • Refrain from mentioning competitors or the specific price you paid for the product.
    • Do not include any personally identifiable information, such as full names.

    Beginning ReactJS Foundations Building User Interfaces with ReactJS: An Approachable Guide

    Required fields are marked with *

    Review Title*
    Review
      Add Photo Add up to 6 photos
      Would you recommend this product to a friend?
      Tag this Book
      Read more
      Does your review contain spoilers?
      What type of reader best describes you?
      I agree to the terms & conditions
      You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

      CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

      These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


      By submitting any content to Bookswagon, you guarantee that:
      • You are the sole author and owner of the intellectual property rights in the content;
      • All "moral rights" that you may have in such content have been voluntarily waived by you;
      • All content that you post is accurate;
      • You are at least 13 years old;
      • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
      You further agree that you may not submit any content:
      • That is known by you to be false, inaccurate or misleading;
      • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
      • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
      • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
      • For which you were compensated or granted any consideration by any unapproved third party;
      • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
      • That contains any computer viruses, worms or other potentially damaging computer programs or files.
      You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


      For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


      All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

      Accept

      New Arrivals


      Inspired by your browsing history


      Your review has been submitted!

      You've already reviewed this product!
      ASK VIDYA