DEV Community

Cover image for Angular vs React js Prop Passing
Syed Muhammad Ali Raza
Syed Muhammad Ali Raza

Posted on

Angular vs React js Prop Passing

Prop Passing in React

  1. Parent Component:
import React from 'react';
import ChildComponent from './ChildComponent';

class ParentComponent extends React.Component {
  render() {
    const message = "Hello from Parent!";
    return (
      <div>
        <h1>Parent Component</h1>
        <ChildComponent message={message} />
      </div>
    );
  }
}

export default ParentComponent;
Enter fullscreen mode Exit fullscreen mode
  1. Child Component:
import React from 'react';

class ChildComponent extends React.Component {
  render() {
    return (
      <div>
        <h2>Child Component</h2>
        <p>{this.props.message}</p>
      </div>
    );
  }
}

export default ChildComponent;
Enter fullscreen mode Exit fullscreen mode

Advantages of Prop Passing in React

  • Simplicity: Prop passing in React is straightforward and easy to understand.

  • Unidirectional Data Flow: This makes it easier to track data changes and debug issues.

Challenges of Prop Passing in React

Prop Drilling: In larger applications, passing props through many layers of components can become cumbersome.

Angular: Prop Passing with Dependency Injection

Prop Passing in Angular

  1. Parent Component (parent.component.ts):
import { Component } from '@angular/core';

@Component({
  selector: 'app-parent',
  template: `
    <h1>Parent Component</h1>
    <app-child [message]="message"></app-child>
  `
})
export class ParentComponent {
  message: string = "Hello from Parent!";
}
Enter fullscreen mode Exit fullscreen mode
  1. Child Component (child.component.ts):
import { Component, Input } from '@angular/core';

@Component({
  selector: 'app-child',
  template: `
    <h2>Child Component</h2>
    <p>{{ message }}</p>
  `
})
export class ChildComponent {
  @Input() message: string;
}
Enter fullscreen mode Exit fullscreen mode

In Angular, the parent component binds the message property to the app-child component using Angular's property binding syntax [message]="message". The child component uses the @Input decorator to declare that it expects a message input.

Advantages of Prop Passing in Angular

  • Two-Way Data Binding: Angular allows two-way data binding, making it easier to keep the UI and data model in sync.

Challenges of Prop Passing in Angular

Performance: Two-way data binding can introduce performance overhead in larger applications.

Conclusion

Both React and Angular offer powerful methods for prop passing, each with its unique advantages and challenges. React's simplicity and unidirectional data flow make it a great choice for smaller to medium-sized applications, while Angular's rich feature set and dependency injection system provide a robust solution for larger, more complex applications.
If you have any query Than message me on Linkedin Syed Muhammad Ali Raza

Top comments (0)