Tôi đang sử dụng react-hot-loader và tôi rất bối rối về mã ví dụ của nó:Javascript đòi hỏi vs đòi hỏi .DEFAULT
import React from 'react'
import ReactDOM from 'react-dom'
import { AppContainer } from 'react-hot-loader'
import App from './containers/App'
ReactDOM.render(
<AppContainer>
<App/>
</AppContainer>,
document.getElementById('root')
);
// Hot Module Replacement API
if (module.hot) {
module.hot.accept('./containers/App',() => {
const NextApp = require('./containers/App').default;
ReactDOM.render(
<AppContainer>
<NextApp/>
</AppContainer>,
document.getElementById('root')
);
});
}
Những gì tôi không undestand là:
a) Tại sao tôi cần thế nào để sử dụng ứng dụng và NextApp? Không phải là App
giống như NextApp
, vì chúng được nhập từ cùng một tệp?
b) Tôi nghĩ thực tiễn tốt nhất là giữ requires
ở đầu mã. Nhưng tôi đã có import App from '../containers/App
'. Vì vậy:
import App from './containers/App'
const NextApp = require('./containers/App').default;
Không nên App
và NextApp
là giống nhau?
c) Để kết thúc, các dòng mã sau có tương đương không? Sự khác biệt khi sử dụng số require
thuần túy và số require .default
là gì?
const NextApp = require('./containers/App');
const NextApp = require('./containers/App').default;
Xin lỗi nếu đó là những câu hỏi rất cơ bản, nhưng tôi cần gợi ý về nơi cần tìm hiểu rõ hơn về mã này.