React 道具状态和 Redux
React props states and Redux
- 状态和道具有什么不同?
- 如果我们有例如
ComponentA
接受输入然后 ComponentB
假设输出,那么如何将 CompomentA
的值传递给 ComponentB
(将其打印在屏幕上)如果我们有一个名为 CompomentContainer
的第三个组件,它是 A 和 B 的容器?
- 什么是 Redux?主网站上的 redux 定义对我来说没有意义。它是如何工作的?反应有什么用?
请耐心等待,我希望我的问题是有道理的。谢谢。
状态和道具有什么区别?
状态是直接绑定到设置它的 React 组件的数据。 Props 是从父组件传递到子组件的数据。与状态不同,道具是不可变的,永远不会 "set" 直接。
如果我们有例如 ComponentA 接受输入然后 ComponentB 假设输出(将其打印在屏幕上)相同的值,那么如何将 CompomentA 的值传递给 ComponentB如果我们有一个名为 CompomentContainer 的第三个组件,它是 A 和 B 的容器?
要将值从组件 A 传递到组件 B,您可以提供 props
的值,通过组件 A 渲染函数传入。像这样:
class ComponentA extends React.component {
render() {
return <ComponentB myvalue={value} />
}
}
在 ComponentB 中可以访问值:this.props.myvalue
什么是 Redux?主网站上的 redux 定义对我来说没有意义。它是如何工作的?反应有什么用?
Redux 是 Flux 思想的实现,但在架构上存在一些差异。你可以把它想象成一个库,帮助你创建一个中央数据存储,将数据单向传递到 React 组件中。它允许您在组件本身之外维护全局状态。
顶级容器组件通常会监听存储并在存储数据发生变化时重新呈现(请参阅 connect
函数)。然后数据从容器组件传递到需要该数据的子组件,以便它们可以正确呈现。
这些都是非常有效的问题。我去过那里,我知道阅读有关 redux 却什么都不懂是多么令人沮丧。由于某些原因,人们喜欢使用花哨的词,这听起来很复杂,但实际上事情很简单。
什么是 Redux?
Redux 是一种 Flux 架构。简而言之,它将帮助您管理应用程序的全局状态。
它是如何工作的?
Redux 将创建一个 "store",这个商店将拥有您需要在组件中呈现的所有数据,您可以使用 "actions" 更新数据,您将从组件调用操作,这些操作会将新数据传输到 "reducers",在 reducer 内部,您基本上会将数据从组件复制到全局状态(reducer 应该是纯函数)。
反应有什么用?
这非常有用!主要是因为您将能够跨组件共享数据。此外,通过拥有全局状态,您可以将其保存到本地存储(或数据库)以添加离线支持。
状态和道具有什么区别?
可以定义props来描述组件在创建实例时会收到的属性,可以把props想成参数,例如:
<MyComponent name="Crysfel" lastname="Villa" />
前一个组件接收两个道具,name 和 lastname。 Props 将允许您将数据从 ComponentA 发送到 ComponentB,假设 ComponentB 是 ComponentA 的子级。 Props 还将帮助您从 redux 接收数据。根据经验,永远不要修改 props 的值,这些值只是为了接收数据。
另一方面,状态是一个可能包含组件配置的对象,其想法是处理组件的状态,例如可折叠容器,您可以在组件的状态并在用户单击按钮时切换值。然而,当使用 redux 时,你将很少使用组件的状态,因为 Redux 正在管理你的应用程序的状态。
关于在组件之间发送数据的第二个问题,你可以使用 redux,ComponentA 应该调用一个动作并将新数据发送到全局状态,然后 redux 将用新数据更新你的组件,然后你可以将新数据渲染到 ComponentB 中(使用 props)。
- 状态和道具有什么不同?
- 如果我们有例如
ComponentA
接受输入然后ComponentB
假设输出,那么如何将CompomentA
的值传递给ComponentB
(将其打印在屏幕上)如果我们有一个名为CompomentContainer
的第三个组件,它是 A 和 B 的容器? - 什么是 Redux?主网站上的 redux 定义对我来说没有意义。它是如何工作的?反应有什么用?
请耐心等待,我希望我的问题是有道理的。谢谢。
状态和道具有什么区别?
状态是直接绑定到设置它的 React 组件的数据。 Props 是从父组件传递到子组件的数据。与状态不同,道具是不可变的,永远不会 "set" 直接。
如果我们有例如 ComponentA 接受输入然后 ComponentB 假设输出(将其打印在屏幕上)相同的值,那么如何将 CompomentA 的值传递给 ComponentB如果我们有一个名为 CompomentContainer 的第三个组件,它是 A 和 B 的容器?
要将值从组件 A 传递到组件 B,您可以提供 props
的值,通过组件 A 渲染函数传入。像这样:
class ComponentA extends React.component {
render() {
return <ComponentB myvalue={value} />
}
}
在 ComponentB 中可以访问值:this.props.myvalue
什么是 Redux?主网站上的 redux 定义对我来说没有意义。它是如何工作的?反应有什么用?
Redux 是 Flux 思想的实现,但在架构上存在一些差异。你可以把它想象成一个库,帮助你创建一个中央数据存储,将数据单向传递到 React 组件中。它允许您在组件本身之外维护全局状态。
顶级容器组件通常会监听存储并在存储数据发生变化时重新呈现(请参阅 connect
函数)。然后数据从容器组件传递到需要该数据的子组件,以便它们可以正确呈现。
这些都是非常有效的问题。我去过那里,我知道阅读有关 redux 却什么都不懂是多么令人沮丧。由于某些原因,人们喜欢使用花哨的词,这听起来很复杂,但实际上事情很简单。
什么是 Redux? Redux 是一种 Flux 架构。简而言之,它将帮助您管理应用程序的全局状态。
它是如何工作的? Redux 将创建一个 "store",这个商店将拥有您需要在组件中呈现的所有数据,您可以使用 "actions" 更新数据,您将从组件调用操作,这些操作会将新数据传输到 "reducers",在 reducer 内部,您基本上会将数据从组件复制到全局状态(reducer 应该是纯函数)。
反应有什么用? 这非常有用!主要是因为您将能够跨组件共享数据。此外,通过拥有全局状态,您可以将其保存到本地存储(或数据库)以添加离线支持。
状态和道具有什么区别? 可以定义props来描述组件在创建实例时会收到的属性,可以把props想成参数,例如:
<MyComponent name="Crysfel" lastname="Villa" />
前一个组件接收两个道具,name 和 lastname。 Props 将允许您将数据从 ComponentA 发送到 ComponentB,假设 ComponentB 是 ComponentA 的子级。 Props 还将帮助您从 redux 接收数据。根据经验,永远不要修改 props 的值,这些值只是为了接收数据。
另一方面,状态是一个可能包含组件配置的对象,其想法是处理组件的状态,例如可折叠容器,您可以在组件的状态并在用户单击按钮时切换值。然而,当使用 redux 时,你将很少使用组件的状态,因为 Redux 正在管理你的应用程序的状态。
关于在组件之间发送数据的第二个问题,你可以使用 redux,ComponentA 应该调用一个动作并将新数据发送到全局状态,然后 redux 将用新数据更新你的组件,然后你可以将新数据渲染到 ComponentB 中(使用 props)。