In React, Render Props is a technique used to share logic between components using a function prop. Instead of using children or composition, a function is passed as a prop to render content dynamically. This approach works well with functional components and hooks.
Here’s an example of how to implement Render Props with functional components:
import React, { useState } from 'react'; // The component using render props const MouseTracker = ({ render }) => { const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 }); const handleMouseMove = (event) => { setMousePosition({ x: event.clientX, y: event.clientY, }); }; return ( <div style={{ height: '100vh' }} onMouseMove={handleMouseMove}> {render(mousePosition)} </div> ); }; // Component that consumes the render props const App = () => { return ( <div> <h1>Mouse Tracker</h1> <MouseTracker render={({ x, y }) => ( <h2>Mouse Position: {x}, {y}</h2> )}/> </div> ); }; export default App;
This pattern allows for more flexibility in deciding how to render content based on logic inside the MouseTracker component.
The above is the detailed content of Render Props in react for functional components. For more information, please follow other related articles on the PHP Chinese website!