简体   繁体   English

默认导出后,React 组件为空

[英]React Components are null after default export

I just started to set up a new React project and ran into a problem and I don't have any idea how to fix it.我刚刚开始建立一个新的 React 项目并遇到了一个问题,我不知道如何解决它。

My static components are null after a default export.默认导出后,我的静态组件为null Before I seperate this into different files, all works perfectly.在我把它分成不同的文件之前,一切都很完美。 If I move my static AddExpense component back to my AppRoute.js file, again it still works.如果我将我的静态AddExpense组件移回我的AppRoute.js文件,它仍然可以工作。

What is the problem here?这里有什么问题?

import React from 'react';

const AddExpensePage = () => (
    <div>
        This is from my add AddExpensePage
    </div>
);

export default AddExpensePage;
import {ExpenseDashBordPage} from '../components/ExpenseDashBordPage'
import {AddExpensePage} from '../components/AddExpensePage';
import {HelpPage} from '../components/HelpPage';
// import {Header2} from '../components/Header';
import React from 'react';
import {BrowserRouter, Route, Switch,NavLink} from 'react-router-dom';


const EditPage = () => (
    <div>
    This is the edit Page
    </div>
)

const NotFoundPage = () => (
    <div>
    404! <NavLink to="/">Go Home</NavLink>
    </div>
)


const Header =() => (
    <header><h1>Expensify</h1>
    <NavLink activeClassName="is-active" exact = {true} to="/">Go Home</NavLink>
    <NavLink activeClassName="is-active" to="/create">create</NavLink>
    <NavLink activeClassName="is-active" to="/help">Help</NavLink>
    <NavLink activeClassName="is-active" to="/edit">Edit</NavLink>
    </header>
);


const AppRouter = () => (
    <BrowserRouter>
    <div>
    <Header/>
    <Switch>
        <Route path="/" component={ExpenseDashBordPage} exact= {true} />
        <Route path="/create" component={AddExpensePage}/>
        <Route path="/help" component={HelpPage}/>
        <Route path="/edit" component={EditPage}/>
        <Route component={NotFoundPage} />
    </Switch>
    </div>
    </BrowserRouter>
);

export default AppRouter;




在此处输入图片说明

You are exporting AddExpensePage as a default export in that case you don't need to do您将AddExpensePage作为默认导出导出,在这种情况下您不需要执行此操作

import {AddExpensePage} from '../components/AddExpensePage';
// this is when you are using named exports

what you need to do is refactor your import statements as this你需要做的是重构你的导入语句

import AddExpensePage from '../components/AddExpensePage';
// or
import {default as AddExpensePage} from '../components/AddExpensePage';

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM