gpt4 book ai didi

javascript - 我如何在 React 的不同文件中使用一个函数?

转载 作者:行者123 更新时间:2023-11-30 06:20:11 26 4
gpt4 key购买 nike

我正在尝试使用一个函数,它位于与 App.js 不同的组件中。而且我有语法错误,我不知道我做错了什么。我在 App.js 中有一个按钮,当我点击它时,我之前提到的另一个组件的功能应该会触发。

app.js:

import React from 'react';
import {shaking} from './components/Tree/Tree.js';

class App extends React.Component {
constructor() {
super();
this.handleClick = this.handleClick.bind(this);
}

handleClick() {
shaking();
console.log("done !");
}

render() {
return (
<div>
<Tree className='tree' />
<Apples />
<Basket />
<br/>
<button className="start-btn" onClick={this.handleClick}>Start !</button>
<br/>
</div>
);
}
};

export default App;

这是我的另一个组件:

import React from 'react';
import TreeSvg from './Tree-svg/TreeSvg.js';
import './Tree.sass';

export function shaking(){
const tree = document.getElemenetsByClassName(".tree-img")[0];
tree.classList.add("apply-shake");
console.log('shaked!');
}

class Tree extends React.Component{
constructor() {
super();
this.shaking = this.shaking.bind(this);
}

shaking() {
this.setState({shaked:'1'});
const tree = document.getElemenetByClassName(".tree-img");
tree.classList.add("apply-shake");
console.log('shaked!');
}

render(){
return(
<div className="tree-img">
<TreeSvg />
</div>
);
}
};

export default Tree;

最佳答案

像这样制作你的树组件

import React from 'react';
import TreeSvg from './Tree-svg/TreeSvg.js';
import './Tree.sass';

export function shaking(){
const tree = document.getElementsByClassName(".tree-img")[0];
tree.classList.add("apply-shake");
console.log('shaked!');
}



class Tree extends React.Component{
constructor() {
super();
this.state = {
shaked : ''
}
shaking() {
this.setState({shaked:'1'});
const tree = document.getElementByClassName(".tree-img");
tree.classList.add("apply-shake");
console.log('shaked!');
}
render(){
return(
<div className="tree-img">
<TreeSvg />
</div>
);
}
};


export default Tree;

关于javascript - 我如何在 React 的不同文件中使用一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53649008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com