'React', 'tepki' öğesinden varsayılan dışa aktarma ise, 'Tepki' yerine neden başka bir ad kullanamıyoruz?


9

Bu nedenle, bu soruya bazı cevaplar arıyordum ve içe aktarırken, 'React' öğesinin varsayılan dışa aktarma olduğu ve adlandırılmış bir dışa aktarma olmadığı için {} içinde olması gerekmediğini gördüm. varsayılan bir dışa aktarmayı içe aktarırken, içe aktarma sırasında bunun için herhangi bir ad kullanabiliriz. Ancak bu durumda, yalnızca aşağıdaki içe aktarmayı kullanabiliriz,

import React from 'react';

ve yok

import Somename from 'react';

Yanıtlar:


10

Sen olabilir bu şekilde tepki içe, ancak JSX kullanıyorsanız, ayrıca "oluşturucu" işlevi artık olduğunu kullanmakta olduğunuz transpiler anlatmak için yapılandırmanızı güncellemeniz gerekir React.createElement, ancak bunun yerine bir Somename.createElement. (Babel kullanıyorsanız, bunu pragmadirektifle yaparsınız .) Bunun nedeni, React belgelerinde belirtildiği gibi , bu:

const element = (
  <h1 className="greeting">
    Hello, world!
  </h1>
);

Şuraya aktarıldı:

const element = React.createElement(
  'h1',
  {className: 'greeting'},
  'Hello, world!'
);

... yani React(veya yapılandırmada değiştirdiğiniz adın kapsamı dahilinde) olmalıdır . Bunun dışında, iyi.


1
Sadece biraz eklemek için, bir transpiler JSX ile ne yaptığını görmek gerçekten yararlıdır. İşte bir örnek .
Nick

1
@TJ Crowder ve @ Nick'e teşekkürler, Bunlar çok iyi açıklamalardı.
Tick20
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.