Я использую несколько хуков useEffect
для выполнения функций componentDidMount
и componentDidUpdate
, однако, похоже, когда компонент загружается, весь мой useEffect срабатывает изначально ...
const testComp = () => {
const stateUserId = useSelector(state => { return state.userId; });
const [userId, setUserId] = useState(stateUserId);
const [active, setActive] = useState(false);
const [accountId, setAccountId] = useState();
useEffect(() => {
console.log('component did mount...');
}, [userId]);
useEffect(() => {
console.log('should trigger when userId changes...');
}, [userId]);
useEffect(() => {
console.log('should trigger when active changes...');
}, [active]);
useEffect(() => {
console.log('should trigger when accountId changes...');
}, [accounted]);
return (<div>...</div);
}
когда мои компоненты монтируются, я вижу там весь журнал консоли
component did mount...
should trigger when userId changes...
should trigger when active changes...
should trigger when accountId changes...
Как я могу позволить срабатывать только своему первому useEffect
, а остальные три срабатывают только при изменении зависимости?