Ошибка при использовании функции в другом компоненте - PullRequest
0 голосов
/ 03 мая 2020

Я создал функцию fadeIn, определяющую некоторые базовые c свойства вида анимации. Я пытаюсь передать эти значения в мой AnimatedView, но получаю сообщение об ошибке:

Функция, которую я написал для fadeIn:

import {Animated} from 'react-native';

const fadeIn = ({delay = 0, duration = 500}) => {
    const initialStyle = new Animated.Value(0);
    const animation = Animated.timing(
        initialStyle,
        {
            toValue: 1,
            delay: delay,
            duration: duration,
            useNativeDriver: false,
        });
    return {initialStyle, animation};
};

, но когда я вызвал это в свой компонент входа как:

console.log(fadeIn());

Вышло сообщение об ошибке: enter image description here

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Вы получаете эту ошибку, потому что вы пытаетесь уничтожить объект, который является undefined.

Ваша функция fadeIn принимает объект в качестве аргумента. Но когда вы вызываете функцию, вы не указываете какое-либо значение в качестве параметра, что приведет к undefined. Поэтому в основном происходит следующее:

const {delay = 0, duration = 500} = undefined // Throws error.

Самый простой способ решить эту проблему - просто указать значение при вызове функции fadeIn следующим образом:

fadeIn({delay: 0, duration: 1337})

Но более надежный способ решить эту проблему - использовать значение по умолчанию для параметра функции (const fadeIn = ({delay = 0, duration = 500} = {}) => { ... }). Если функция вызывается без параметра или не определена, по умолчанию будет использоваться значение по умолчанию, в данном случае {}.

0 голосов
/ 03 мая 2020

можно справиться с этим, построив функцию с определенными параметрами.

const fadeIn = (delay = 0, duration = 500) => { ... }

, чем вы можете назвать ее паром

fadeIn()

или перезаписать параметр как

fadeIn(50, 1000)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...