在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ react高級組件無法找不到模塊

react高級組件無法找不到模塊

import React, {Component} from 'react'

export default (WrappedComponent) => {
    class NewComponent extends Component {
        constructor() {
            super();
            this.state = {
                username: ''
            }
        }

        componentWillMount() {
            let username = localStorage.getItem('username');
            this.setState({
                username: username
            })
        }

        render() {
            return <WrappedComponent username={this.state.username}/>
        }
    }

    return NewComponent
}

import React, {Component} from 'react'

/*
class Welcome extends Component {
    constructor(props) {
        super(props);
        this.state = {
            username: ''
        }
        localStorage.username="歡迎";
    }

    componentWillMount() {
        let username = localStorage.getItem('username');
        this.setState({
            username: username
        })
    }

    render() {
        return (
            <div>welcome {this.state.username}</div>
        )
    }
}

export default Welcome;
*/

import wrapWithUsername from 'wrapWithUsername';

class Welcome extends Component {

    render() {
        return (
            <div>welcome {this.props.username}</div>
        )
    }
}

Welcome = wrapWithUsername(Welcome);

export default Welcome;

import React, {Component} from 'react'

/*
class Goodbye extends Component {
    constructor(props) {
        super(props);
        this.state = {
            username: ''
        }
        localStorage.username="再見";
    }

    componentWillMount() {
        let username = localStorage.getItem('username');
        this.setState({
            username: username
        })
    }

    render() {
        return (
            <div>goodbye {this.state.username}</div>
        )
    }
}

export default Goodbye;

*/

import wrapWithUsername from 'wrapWithUsername';

class Goodbye extends Component {

    render() {
        return (
            <div>goodbye {this.props.username}</div>
        )
    }
}

Goodbye = wrapWithUsername(Goodbye);

export default Goodbye;

圖片描述

回答
編輯回答
扯不斷

自定義組件如果是在當(dāng)前路徑下,引入的時候要加'./',如:'./wrapWithUsername'

2017年8月7日 02:00
編輯回答
妖妖

自己寫的組件一定要寫成相對路徑。如果在同一級目錄下,就這樣寫
import wrapWithUsername from './wrapWithUsername';

你原來的寫法默認是引入node_modules中的依賴

2017年11月21日 07:29