将 React 组件数组传递给 useState 返回空数组

Slb*_*box 8 javascript reactjs react-native react-hooks

这里的代码非常简单。我想知道这是否是预期的结果。我正在升级一个npm模块,它需要我将这些项目传递给useState以前不需要的项目。不幸的是,我想这不能用useState? 我对吗?我很想犯错。


其中props.items包含一个基于类的 React 组件useState数组,返回一个空数组:

const [items, set] = useState(props.items);
Run Code Online (Sandbox Code Playgroud)

输入:

在此处输入图片说明

输出:

在此处输入图片说明

*注意,图像使用在数组内部传播的道具,因为我没有想法,此外,返工所有的东西。

G.a*_*ziz 10

这并不是真的建议您最好在 中这样做,useEffect因为Props在 Initial State 中是一种反模式

const [items, setItems] = useState([]);


useEffect(() => {
    setItems(props.items);
  },[props.items]);
Run Code Online (Sandbox Code Playgroud)

  • `set` 不是保留字:) @Taki (2认同)