Importaciones dinámicas en ES6 con variables de tiempo de ejecución

Recientemente me topé con elpropuesta de importación dinámica y también estovideo de Youtube . Pensar sería una gran idea usarlo para las importaciones a demanda de componentes en React.

Me encontré con un problema en el que no podía "resolver" una ruta cuandoimport se pasa literales de cadena como variables de tiempo de ejecución.

por ejemplo:

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

Intenté con múltiples opciones para _fetchComp, pero pasar parámetros no parece funcionar. Un desglose de las diferentes opciones probadas.

Cadenas de plantilla No funciona : Obteniendo el siguiente error al hacer clic

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 No funciona: Obteniendo un error durante la compilación del paquete web 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)
})}

Cadena literal Trabajos : Solo pasa literales de cadena puros. Al hacer clic, puedo ver el fragmento que se está descargando en la pestaña Red de herramientas de desarrollo

Código

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

Según la especificación,

import () acepta cadenas arbitrarias (con las cadenas de plantilla determinadas en tiempo de ejecución que se muestran aquí), no solo literales de cadena estática.

Así que esperaba que el literal de cadena hiciera el papel, pero ese no parece ser el caso.

Me encontré con un problema similar enrastreador de problemas de flujo. Pero la solución propuesta abogó por el uso de literales de cadena nuevamente.

Los dejaré a todos con unCodeSandbox enlazar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta