画像のグループを配列としてインポートすることは可能ですか? (create-react-appプロジェクト)以下に書かれているように、しかし単一行として?
import Hat1 from '../../assets/img/accesories/hats/hat1.png';
import Hat2 from '../../assets/img/accesories/hats/hat2.png';
import Hat3 from '../../assets/img/accesories/hats/hat3.png';
import Hat4 from '../../assets/img/accesories/hats/hat4.png';
import Hat5 from '../../assets/img/accesories/hats/hat5.png';
import Hat6 from '../../assets/img/accesories/hats/hat6.png';
const hatsArr = [
Hat1,
Hat2,
Hat3,
Hat4,
Hat5,
Hat6
];
それらを配列として直接インポートすることはできませんが、これらのインポート専用のファイルを使用できます。
images.js:
import Hat1 from '../../assets/img/accesories/hats/hat1.png';
import Hat2 from '../../assets/img/accesories/hats/hat2.png';
import Hat3 from '../../assets/img/accesories/hats/hat3.png';
import Hat4 from '../../assets/img/accesories/hats/hat4.png';
import Hat5 from '../../assets/img/accesories/hats/hat5.png';
import Hat6 from '../../assets/img/accesories/hats/hat6.png';
export default [
Hat1,
Hat2,
Hat3,
Hat4,
Hat5,
Hat6
];
次に、この配列を他のファイルに1行でインポートします。
import hatsArr from './images';
編集:この1行のインポートを実現するために、webpack.config.js
でいくつかのトリッキーなことを行うことができると思いますが、それを助けることはできません。
以下のように、これらの画像をエクスポートするための別のファイルを作成できます。
var AppData = {
adata: {
"initialdata":[
{
"text":"",
"image":"images/slider1.png"
},
{
"text":"",
"image":"images/slider2.png"
},
{
"text":"",
"image":"images/slider3.png"
}
]
}
}
export default AppData;
以下のようにコンポーネントにインポートします。
import AppData from './AppData';
class App extends Component {
constructor() {
super();
this.state = AppData.adata;
}
render() {
return (
<ul className="slider">
{this.state.initialdata.map(function(item,index) {
return (
<li key={index}>
<img className="sliderImage" src={`./${item.image}.png`} role="presentation" alt="image"/>
</li>
)
},this)}
</ul>
);
}
}
これがこのようにエクスポート、インポートすることでデモが機能するのに役立つことを願っています demo
私はここで言及されたものの解決策のハイブリッドを持っています
import Hat1 from '../../assets/img/accesories/hats/hat1.png';
import Hat2 from '../../assets/img/accesories/hats/hat2.png';
import Hat3 from '../../assets/img/accesories/hats/hat3.png';
import Hat4 from '../../assets/img/accesories/hats/hat4.png';
import Hat5 from '../../assets/img/accesories/hats/hat5.png';
import Hat6 from '../../assets/img/accesories/hats/hat6.png';
export const hatsArr = [
Hat1,
Hat2,
Hat3,
Hat4,
Hat5,
Hat6
];
... your logic goes here ...
export
の前にconst
を追加するだけでよいことに注意してください。
このようにして、1つのキーワードを使用するだけで、画像とロジックを1つのファイルに収めることができます。