如何从React.js中的另一个文件实际启动一个函数

时间:2017-07-21 01:36:07

标签: javascript reactjs onclick

我在一个名为User.jsx

的文件中有这个
   shrink() {
        this.setState({shrunk: !this.state.shrunk});
        let stuff = document.querySelectorAll(".stuff");
        for (let i = 0; i < stuff.length; i++) {
            stuff[i].classList.toggle("do-something");
        }
    }

我正在导入另一个文件(名为&#34; Person.jsx&#34;),如下所示:

import { shrink } from './User.jsx';

我试图在Person.jsx文件中使用它,如下所示:

class Stuff extends React.Component {
    doStuff() {
      shrink(); **/* How do I actually initiate the function? */**
    }
    return (
        <div onClick={this.doStuff}>Yo!</div>
    )

}

我的问题是如何实际启动该功能以使其正常工作。

我也尝试过&#34;返回&#34;它也是:

return shrink(); 

但是说&#34;缩小&#34;未定义....

1 个答案:

答案 0 :(得分:1)

您需要将其导出

export function shrink() {
    this.setState({shrunk: !this.state.shrunk});
    let stuff = document.querySelectorAll(".stuff");
    for (let i = 0; i < stuff.length; i++) {
        stuff[i].classList.toggle("do-something");
    }
}