React 基础与实践(2)|青训营笔记

80 阅读2分钟

React 基础与实践【讲师:杨雨涵】

03 具体场景案例

1.如何划分组件? React中常用的组件划分方式:

  1. 功能划分

按照组件的功能进行划分,每个组件都承担着特定的功能模块。例如,可以将登录、注册、列表展示等功能划分为不同的组件。

  1. 页面划分

按照页面的结构和布局进行划分,每个组件都对应着页面的一部分,可以将一个页面划分为多个小组件。例如,可以将导航栏、侧边栏、内容区等页面元素划分为不同的组件。

  1. 数据划分

按照数据源进行划分,每个组件都负责渲染特定的数据。例如,可以将用户列表、商品列表等数据划分为不同组件。

  1. ui控件划分

按照ui控件的类型进行划分,每个组件都是一个单独的ui控件。例如,可以将按钮、输入框、下拉框等ui控件划分为不同的组件。

image.png

image.png

image.png

2.父子组件通信

React父组件向子组件传递数据主要通过以下方式实现:

  1. 通过props属性传递数据。父组件的数据可以通过props属性传递给子组件,在子组件中通过this.props访问。父组件可以通过更改props属性来实现对子组件数据的更新。

  2. 在父组件中定义一个回调函数,然后将该回调函数通过props传递给子组件。当子组件需要向父组件通信时,可以调用该回调函数并将需要传递的数据作为参数传入。

  3. 使用React的Context API实现数据共享。Context提供了一种在组件之间共享值的方式,父组件可以在Context中存储数据,然后子组件可以通过Context API访问上下文中的数据。

image.png

image.png

React子组件向父组件通信主要通过以下方式实现:

  1. 在子组件中定义一个回调函数,然后将该回调函数通过props传递给父组件。当子组件需要向父组件通信时,可以调用该回调函数并将需要传递的数据作为参数传入。

  2. 使用事件总线(EventBus)实现通信。在React中,可以使用第三方库如PubSub.js实现事件总线,子组件通过事件名和数据发布事件,而父组件则通过订阅相应的事件名来获取数据。

  3. 使用React的Context API实现数据共享。子组件可以通过Context API访问上下文中的数据,并可以在上下文中存储自己的数据,从而实现与父组件的通信。