我的代码越来越长,所以我决定将它们转移到其他javaScript文件中。
我遵循了这个relevant topic regarding my question,但是为什么我会出现错误,我只是复制并粘贴了所有内容?
上面的链接中是代码
//slideshow.js
function plusSlides(n) {
showSlides(slideIndex += n);
}
//Home.js
class NextButton extends React.Component {
constructor() {
super();
this.onClick = this.handleClick.bind(this);
}
handleClick (event) {
script.plusSlides(1); // I don't know how to do this properly...
}
render() {
return (
<a className="next" onClick={this.onClick}>
❯
</a>
);
}
}
这是我的错误“尝试导入错误:'../ plusSides文件'未导出'.plusSlides'。”
我使用了react.js CRA,我需要对其进行配置以解决此问题吗?
答案 0 :(得分:1)
它一定有效。您唯一需要的就是babel来转译es6(我假设您已经使用过react CRA来拥有)。还有另一种方法,即使用默认导出
export default (n)=>{
showSlides(slideIndex += n);
}
并像这样在Home.js中导入该功能
import anyname from './slideshow.js' //I am assuming you have slideshow.js and Home.js in same directory
handleClick (event) {
anyname(1);
}
答案 1 :(得分:0)
您真的给空格加上了“文件”一词吗??您不认为它应该像这样导入:
从'../plusSides'导入plusSlides;
此外,请查看您要从该文件导出的内容。如果是默认导入,则可以按您想要的任何名称导入,否则必须在导出和导入中使用相同的名称。请记住,每个文件只能默认导出一次。