避免函数在ReactJs中反复运行
我创建了使用避免函数在ReactJs中反复运行,reactjs,Reactjs,我创建了使用道具的组件,这个组件过滤器道具,但是只要状态发生变化,它就会重新分配变量 示例: const Foo = (props) => { const [state, setState] = useState(); const schema = array_filter(props.data, "schema"); // other Code } 每次更改状态时,都会调用array\u filter方法array\u filter函数是过滤数组的自定义函数
道具的组件
,这个组件
过滤器
道具,但是只要状态
发生变化,它就会重新分配变量
示例:
const Foo = (props) => {
const [state, setState] = useState();
const schema = array_filter(props.data, "schema");
// other Code
}
每次更改状态
时,都会调用array\u filter
方法array\u filter
函数是过滤数组的自定义函数。我想避免额外运行array\u filter
函数。我该怎么做你能告诉我吗
我尝试了
useRef
,但不起作用。只需缓存您的结果,它只会在您的输入更改时重新计算,这对您来说是最好的:
const schema=React.usemo(()=>array_filter(props.data,“schema”),[props.data]);