Importações dinâmicas no ES6 com variáveis de tempo de execução

Recentemente tropeçou noproposta de importação dinâmica e também issoVídeo do youtube . O ideal seria usá-lo para importações sob demanda de componentes no React.

Correndo para um problema em que não consegui "resolver" um caminho quandoimport são passados literais de string como variáveis de tempo de execução.

por exemplo:

<div>
<button onClick={this._fetchComp.bind(this, "../component/Counter")}>
Get Asyn Comp
</button>
</div>

Tentei com várias opções para _fetchComp, mas a passagem de parâmetros não parece funcionar. Uma análise das diferentes opções tentadas.

Cadeias de modelo Não funciona : Obtendo o erro abaixo ao clicar

Error Error: Cannot find module '../components/Counter'. at webpackAsyncContext (^.*$:53)

Código

_fetchComp(res) {
import(`${res}`).then(() => {
    console.log("Loaded")
},(err)=>{
    console.log("Error",err)
})}

Variabes Não funciona: Obtendo um erro durante a compilação do webpack como 55: 12-23Critical dependency: the request of a dependency is an expression

Código

_fetchComp(res) {
import(res).then(() => {
    console.log("Loaded")
},(err)=>{
    console.log("Error",err)
})}

String literal Trabalho : Apenas passando literais de string pura. Ao clicar, consigo ver o pedaço sendo baixado na guia Rede de ferramentas de desenvolvimento

Código

_fetchComp(res) {
import("../components/Counter").then(() => {
    console.log("Loaded")
},(err)=>{
    console.log("Error",err)
})}

Conforme a especificação,

import () aceita seqüências de caracteres arbitrárias (com as seqüências de modelo determinadas pelo tempo de execução mostradas aqui), não apenas os literais de sequência estática.

Então, eu esperava que a string literal fizesse a parte, mas isso não parece ser o caso.

Me deparei com um problema semelhante emrastreador de problemas de fluxo. Mas a solução proposta defendia o uso de literais de string novamente.

Vou deixar todos vocês com umCodeSandbox ligação.

questionAnswers(1)

yourAnswerToTheQuestion