1

zutand doc 提到如果选择器不依赖于范围,您可以使用选择器并提供以下示例

在此处输入图像描述

我不明白这doesn't depend on scope部分。有人可以提供一些示例,说明状态何时取决于范围,因此不应使用选择器?

谢谢!

4

1 回答 1

0

这意味着选择器是一个只使用一个state对象的函数,因此没有外部依赖项。

有人可以提供一些示例,说明状态何时取决于范围,因此不应使用选择器?

范围不会影响何时何地可以使用选择器函数,而是影响可以声明它的位置。state除了可以在使用它们的任何组件外部声明之外,没有依赖关系的选择器函数。

您可以编写一个选择器函数,该函数还引用组件中定义的值,因此该值将是外部依赖项。

const MyComponent = () => {
  const value = ......;

  const selector = state = {
    // use enclosed value to compute returned value from state
    ... do something with value
  };

  const valueFromState = useStore(selector);

  ...
于 2021-04-25T23:47:39.173 回答