Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FindDOMNode通量/alt存储_Javascript_Dom_Reactjs_Flux_React Alt - Fatal编程技术网

Javascript FindDOMNode通量/alt存储

Javascript FindDOMNode通量/alt存储,javascript,dom,reactjs,flux,react-alt,Javascript,Dom,Reactjs,Flux,React Alt,为了使用velocity.js制作动画,我试图从存储访问dom节点(使用alt),但是我只得到了“无法读取未定义的属性”。是否可以从alt/flux存储中使用findDOMNode import React from 'react' import alt from '../_alt'; import Actions from '../actions/actions'; import Velocity from 'velocity-animate/velocity'; import Body fr

为了使用velocity.js制作动画,我试图从存储访问dom节点(使用alt),但是我只得到了“无法读取未定义的属性”。是否可以从alt/flux存储中使用findDOMNode

import React from 'react'
import alt from '../_alt';
import Actions from '../actions/actions';
import Velocity from 'velocity-animate/velocity';
import Body from '../modules/level_1/body/body1'


class Store {

  constructor(){

    this.bindListeners({
      menuToggle: Actions.MENU_TOGGLE
    });

    this.menuStatus = false

  }

  menuToggle(){
    if (!this.menuStatus){ 
      this.menuStatus = true;
      Velocity(React.findDOMNode(Body.refs.wrap),({ width: '50px' }), 50) 
    } else {
      this.menuStatus = false;
    }
  }

}

export default alt.createStore(Store, 'Store');
组成部分:

import React from 'react';
import connectToStores from 'alt/utils/connectToStores';
import Store from '../../../stores/store'
import Actions from '../../../actions/actions';
import Styles from './body1.css';


import Hero from '../../objects/hero/full_width' 

let image = ['../../../../assets/full_width1.jpg', 'image']

@connectToStores
export default class Body extends React.Component {

  static getStores(){
    return [Store];
  }

  static getPropsFromStores(){
    return Store.getState();
  }

    render(){
        return (
            <div ref='wrap'>
                <Hero content={image} />
            </div>
        );
    }

}
从“React”导入React;
从“alt/utils/connectToStores”导入connectToStores;
从“../../../stores/Store”导入存储
从“../../../Actions/Actions”导入操作;
从“/body1.css”导入样式;
从“../../objects/Hero/full_width”导入英雄
让image=['../../../../assets/full_width1.jpg','image']
@连接商店
导出默认类主体扩展React.Component{
静态getStores(){
退货[商店];
}
静态getPropsFromStores(){
返回Store.getState();
}
render(){
返回(
);
}
}

Body是一个react类,它没有ref。 您需要的是一个react元素(react类的实例),它是render、componentDidMount等内部的“this”

您必须以某种方式(可能通过使用实际的react元素调用menutogle)向存储提供react元素


或者,您可以使用componentDidMount在Body类上设置ref,以便toggle可以使用它。

Body是一个react类,它没有ref。 您需要的是一个react元素(react类的实例),它是render、componentDidMount等内部的“this”

您必须以某种方式(可能通过使用实际的react元素调用menutogle)向存储提供react元素


或者,您可以使用componentDidMount在Body类上设置ref,以便toggle可以使用它。

我成功使用的一种模式是创建一个初始化操作,该操作将React组件作为其参数之一。然后在
componentDidMount()
中,您可以调用该操作,并将
作为参数传递。这允许您的存储在React元素上有一个句柄,以及它的所有相关属性,这样您就可以执行诸如
React.findDOMNode(component.refs['someref'])

我成功使用的一种模式是创建一个初始化操作,该操作将React组件作为其参数之一。然后在
componentDidMount()
中,您可以调用该操作,并将
作为参数传递。这允许您的存储在React元素上有一个句柄,以及它的所有关联属性,这样您就可以执行
React.findDOMNode(component.refs['someref'])
之类的操作