我想使用useEffect方法,该方法在更改任何道具但不是全部代码时都调用,只是一个专用于此道具的代码
我想像那样的东西... 在这一刻,所有代码都被称为一,二或三。
const SomethingComponent = (props: any) => {
const {one, two, three} = props;
useEffect(() => {
if(something for one props){
code for one
}
if(something for two props){
code for two
}
if(something for three props){
code for three
}
}, [one, two, three]);
}
答案 0 :(得分:3)
您可以使用不同的钩子,并为每个钩子赋予一个依赖关系。这样,只有在依赖项更改时,才会触发特定的useEffect
:
const SomethingComponent = (props: any) => {
const { one, two, three } = props
useEffect(() => {
// code for one
}, [one])
useEffect(() => {
// code for two
}, [two])
useEffect(() => {
// code for three
}, [three])
return null;
}