In React, components can receive data from their parent components through props. The parent writes the component tag with attributes, like <Greeting name="Alice" />. The child component function receives these props as an object argument. Inside the JSX returned by the child, we use curly braces to embed JavaScript expressions, such as {props.name}, to show dynamic values. React then renders the JSX to the screen, showing the text with the passed-in name. If the parent changes the prop value, the child re-renders with the new data. Props are read-only and allow components to be reusable with different inputs.