Javascript TweenMax赢得';t正确初始化:";未捕获不能在空目标之间进行。”;
在我的应用程序中,我试图使用来设置更改的动画,但我在代码中遇到了一个早期错误。简化(这是一个使用ES6的React/Redux应用程序): 这些错误很奇怪。首先,如果我没有用对象初始化TimelineMax,比如Javascript TweenMax赢得';t正确初始化:";未捕获不能在空目标之间进行。”;,javascript,reactjs,ecmascript-6,gsap,Javascript,Reactjs,Ecmascript 6,Gsap,在我的应用程序中,我试图使用来设置更改的动画,但我在代码中遇到了一个早期错误。简化(这是一个使用ES6的React/Redux应用程序): 这些错误很奇怪。首先,如果我没有用对象初始化TimelineMax,比如newTimeLineMax({repeat:1})(虽然文档说它的默认构造函数arg是null),它甚至在点击控制台.log('here')之前就会抛出一个错误 未捕获不能在空目标之间进行 如果我像前一句话那样用一个对象初始化它,当我试图调用tl.to时,我遇到了一个错误。具体而言:
newTimeLineMax({repeat:1})
(虽然文档说它的默认构造函数arg是null
),它甚至在点击控制台.log('here')
之前就会抛出一个错误
未捕获不能在空目标之间进行
如果我像前一句话那样用一个对象初始化它,当我试图调用tl.to
时,我遇到了一个错误。具体而言:
未捕获类型错误:tl.to不是函数
即使to
在文档中肯定是。tl
对象似乎是TweenMax
对象:
TweenMax{vars:Object,_totalDuration:0,_duration:0,_delay:0,_timeScale:1…}
但它对大多数方法没有响应,包括add
和其他一些方法
知道这是怎么回事吗?这让我非常困惑,因为所有的文档/教程似乎都表明我所做的很好,而且所有相关的对象(
mailboxDropdown
等)似乎都定义正确 在发布这个问题之前(经过多次搜索和盲目实验之后),我发现这个问题实际上与导入有关。我不确定为什么,但是删除TimelineMax
会导入固定的内容,这样原始代码中的所有内容都可以正常工作。也就是说,我的导入应该是这样的:
import TweenMax from 'gsap';
import GSAP from 'gsap-react-plugin';
import ReactDOM from 'react-dom';
不是这个:
import TimelineMax from 'gsap';
import TweenMax from 'gsap';
import GSAP from 'gsap-react-plugin';
import ReactDOM from 'react-dom';
某种名称空间冲突/覆盖?NPM模块尚未正确提交。使用
import TimelineMax from 'gsap/TimelineMax'
我解决了错误:
Uncaught Cannot tween a null target.
通过这种方式导入:
import React, { Component } from 'react';
import TweenMax, {Power4} from 'gsap/src/uncompressed/TweenMax';
import EasePack from 'gsap/src/uncompressed/easing/EasePack';
import TimelineMax from 'gsap/src/uncompressed/TimelineMax';
从“gsap/TimelineMax”导入TimelineMax; 根据,您可以使用括号表示法指定各个导出:
import {TimelineMax, TweenMax} from 'gsap'
import {TimelineMax, TweenMax} from 'gsap'