react 父子组件传参,由于父组件传递的参数类型有些问题,不能直接使用,需要做些改变,在哪个阶段处理比较好?-灵析社区

刘一抗二二

react 父子组件传参,由于父组件传递的参数类型有些问题,不能直接使用,需要做些改变,在哪个阶段处理比较好? import Child from "./child" import React, { useState } from "react"; export default function App() { const [arr, setArr] = useState([ { name: '张三' } ]) const update = () => { setArr([]) } return ( ) } 子组件, import React, { useState } from "react"; export default function Child(props) { let arr = props.arr const [arr2, setArr2] = useState([]) return ( 21 ) } useEffect(() => { setArr2(props.arr) //我是在这个阶段 }) 还有哪些方式比较好

阅读量:136

点赞量:0

问AI
如果 "arr2" 单纯是基于 "arr" 推导出来的,用 "useMemo" 就行了,不需要子组件再定义一个状态 import React, { useState } from "react"; export default function Child(props) { const arr2 = useMemo(() => { // TODO... }, props.arr) return ( 21 ) } 如果 "arr2" 本身是归属与 "子组件" 的状态,但 "父组件" 某个状态更新时,也需要更新 "子组件" 的状态 那你这种写法时可以的