父子组件通信(props 回调)
父组件传递数据给子组件
在 React 中,父组件通过 props 向子组件传递数据。子组件可以通过 props 接收并渲染数据。
function Parent() {
const [message, setMessage] = useState('Hello from Parent');
return (
<div>
<h1>{message}</h1>
<Child message={message} />
</div>
);
}
function Child({ message }) {
return <p>{message}</p>;
}
`
在上面的例子中,父组件 Parent 将 message 作为 props 传递给子组件 Child,并且子组件渲染父组件传递的数据。
子组件通过回调函数向父组件传递数据
如果子组件需要将数据传回父组件,可以通过向子组件传递一个回调函数来实现。子组件在某些事件发生时调用该回调函数,将数据传递给父组件。
function Parent() {
const [message, setMessage] = useState('');
const handleMessageChange = (newMessage) => {
setMessage(newMessage);
};
return (
<div>
<h1>{message || '没有消息'}</h1>
<Child onMessageChange={handleMessageChange} />
</div>
);
}
function Child({ onMessageChange }) {
const sendMessage = () => {
onMessageChange('Hello from Child');
};
return (
<div>
<button onClick={sendMessage}>发送消息</button>
</div>
);
}
在这个例子中,父组件 Parent 向子组件 Child 传递了一个 onMessageChange 回调函数。当子组件中的按钮被点击时,子组件调用该回调函数,将数据传递给父组件,父组件更新其状态并重新渲染。
总结
父子组件通信是 React 中非常常见的需求,父组件可以通过 props 向子组件传递数据,子组件可以通过回调函数向父组件传递数据。这种方式确保了组件间的数据流向和状态管理,帮助我们实现组件化的设计理念。
相关内容
- React 的设计理念:声明式 UI、组件化 React 的设计理念侧重于声明式 UI 和组件化。这种方式使得开发者能够更高效地构建可维护、可复用的用户界面。
- React 与其他前端框架的对比(Vue、Angular) React、Vue 和 Angular 都是流行的前端框架,它们各自有不同的设计理念和使用场景。React 强调组件化和虚拟 DOM,Vue 提供了更灵活的模板...
- React 是什么? React 是一个由 Facebook 开发的用于构建用户界面的 JavaScript 库。它通过组件化和声明式编程简化了复杂界面的开发,适用于构建交互丰富的单...
- useRef、useMemo、useCallback useRef、useMemo 和 useCallback 是 React 中常用的性能优化 Hooks,帮助管理引用、避免不必要的重新渲染和计算。
- 自定义 Hook 的创建与使用 自定义 Hook 是 React 中的一种机制,用于提取和复用组件逻辑。它可以将多个组件中共享的逻辑提取到独立的函数中,从而实现代码复用。
- Hook 规则与注意事项 在使用 React Hook 时,需要遵循一些规则和注意事项。了解这些规则可以帮助你避免常见的错误和性能问题,确保应用程序的稳定性和可维护性。