> For the complete documentation index, see [llms.txt](https://mm.ricky.moe/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mm.ricky.moe/framework/react/useref-warning.md).

# useRef warning

> The final argument passed to useEffect changed size between renders. The order and size of this array must remain constant.

为什么设计上有这样的警告呢？其本质原因恐怕还需要探究一下。（大致猜得到，但恐怕准备的还要再查一下）

先谈谈解决方案：

如果我们需要依赖的对象是一个数字或字符串，那么最简单的方式 `Array.join()` 方法:

```
useEffect(() => {
  animate(pose);
}, [pose.join(",")]);
```

因此，有别于输入

```
["visible", "hidden"];
```

你现在的输入是

```
["visible,hidden"];
```

这样你就可以愉快的使用useEffect了


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://mm.ricky.moe/framework/react/useref-warning.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
