React-dnd: Harap tambahkan contoh ES5 biasa

Dibuat pada 19 Jun 2015  ·  32Komentar  ·  Sumber: react-dnd/react-dnd

Tidak semua dari kita memiliki kemewahan menggunakan sintaks ES7 bermodel baru, akan sangat membantu jika informasi pendatang baru kelebihan beban jika mungkin ada beberapa contoh kerja yang tidak memperkenalkan semua fitur bahasa baru ini (terutama fitur eksperimental seperti dekorator ES7) dalam contoh. Kegunaan contoh akan berkurang jika dikacaukan dengan fitur bahasa eksperimental.


Edit dari pengelola: harap lacak di sini:
https://github.com/vkbansal/react-dnd-es5-examples


Komentar yang paling membantu

Memaksa orang untuk mempelajari sintaks ES6 (dan lebih buruk lagi, ES7) hanya untuk memahami kode contoh Anda adalah _hostile_ di _best_. Ini terlihat seperti modul yang luar biasa. Mengapa tidak setidaknya mengekspor versi ES5 dari _one_ contoh Anda ke folder contoh ES5 untuk yang belum tahu. Mengatakan Anda akan menerima PR tidak membantu, karena orang yang meminta contoh kemungkinan besar tidak terbiasa dengan ES6 dan ES7!

Le menghela nafas.

Semua 32 komentar

Saya senang menerima kontribusi seperti itu.

Contoh tutorial semuanya ditawarkan di ES5, ES6 dan ES7:
http://gaearon.github.io/react-dnd/docs-tutorial.html

Setiap halaman dokumen juga memiliki contoh di ES5, ES6 dan ES7:
http://gaearon.github.io/react-dnd/docs-drag-source.html
http://gaearon.github.io/react-dnd/docs-drop-target.html
dll

Sayangnya saya tidak punya waktu untuk mem-port semua kode contoh, tetapi ini akan membantu Anda memulai.

Ada contoh ES5 di situs dokumentasi. http://gaearon.github.io/react-dnd/docs-overview.html

image

Saya mengacu pada contoh lengkap dan fungsional di repo github.

Saya setuju contoh ES5 dengan ES6 / 7 opsional akan lebih disukai sampai ES6 / 7 menjadi arus utama. Akan lebih mudah untuk mempelajari react-dnd jika Anda tidak harus belajar bahasa pemrograman baru pada saat yang sama + mentransformasikan ke ES5 untuk menjalankan kode.

Saya berpendapat ES6 sudah menjadi arus utama dengan bahasa yang sedang diselesaikan dan Babel digunakan dalam banyak proyek.

Memaksa orang untuk mempelajari sintaks ES6 (dan lebih buruk lagi, ES7) hanya untuk memahami kode contoh Anda adalah _hostile_ di _best_. Ini terlihat seperti modul yang luar biasa. Mengapa tidak setidaknya mengekspor versi ES5 dari _one_ contoh Anda ke folder contoh ES5 untuk yang belum tahu. Mengatakan Anda akan menerima PR tidak membantu, karena orang yang meminta contoh kemungkinan besar tidak terbiasa dengan ES6 dan ES7!

Le menghela nafas.

Saya setuju dengan orang-orang di sini, @gaearon Anda tidak boleh memaksa orang untuk mempelajari ES6 / ES7 hanya untuk memahami cara kerja perpustakaan .. Ini dapat mengarahkan orang untuk menggunakan perpustakaan lain sebagai gantinya.
Perpustakaan ini luar biasa, satu-satunya hal yang harus saya bantah adalah topik ini. Saya bukan ahli JS (saya adalah pengembang Ruby) jadi sulit bagi saya untuk memahami contoh, hanya karena Anda menggunakan sintaks lain (saya tidak menentang sintaks baru, tetapi saat mengembangkan pustaka Anda harus mengadopsi standar utama), yang konyol ..
Jika Anda ingin pustaka ini menjadi pustaka DnD standar untuk React, Anda harus memperbaikinya. Kalau tidak, saya takut orang akan menggunakan solusi lain yang "lebih mudah" tidak peduli apakah itu lebih baik atau lebih buruk daripada solusi Anda ..

hanya karena Anda menggunakan sintaks lain

FYI, ini bukan sintaks lain, Ini ES6, yang merupakan JavaScript. Dan jika Anda memiliki masalah dengan sintaks ES6 maka Anda juga pasti bermasalah dengan react, karena itu sebenarnya sintaks yang lain.

tetapi saat mengembangkan perpustakaan, Anda harus mengadopsi standar arus utama

ES6 menjadi arus utama. io.js dan react sendiri memiliki dukungan untuk ES6

Anda salah.

  1. Lihat Wikipedia :

Dalam ilmu komputer, sintaksis bahasa komputer adalah sekumpulan aturan yang mendefinisikan kombinasi simbol yang dianggap sebagai dokumen atau fragmen yang terstruktur dengan benar dalam bahasa tersebut.

Dan:

ECMAScript 2015 (Edisi 6) adalah versi terbaru dari standar Spesifikasi Bahasa ECMAScript

Ya, baik ES5 dan ES6 adalah JS, tetapi sintaksnya berbeda.
2.

ES6 menjadi arus utama. io.js dan react sendiri memiliki dukungan untuk ES6

"Becoming" dan "support for" menandakan Anda tahu ES6 belum mainstream .. Pada akhirnya akan, tapi untuk sementara Anda harus memberi contoh di ES5.

Jika Anda sangat menginginkan contoh ES5 mengapa Anda tidak berusaha berkontribusi sendiri. @gaearon adalah orang yang sangat sibuk dan mengerjakan perpustakaan ini di waktu luangnya. Maka dari pada menuntut cobalah untuk berkontribusi, agar orang lain juga bisa mendapatkan keuntungan darinya.

Teman-teman, pemilik proyek, gaearon, tidak memaksa siapa pun untuk melakukan apa pun.

gaearon telah melakukan pekerjaan luar biasa pada lib ini. Proyek adalah open source, dan ditawarkan secara gratis. Menuduhnya bermusuhan, atau seolah-olah dia memiliki pengguna, adalah IMHO yang bermusuhan.

Dia menyatakan dia tidak punya waktu untuk mentransfer contoh ke es5, dan dia terbuka untuk kontribusi. Sudah ada contoh di es5 / 6/7. Dan sejujurnya, sintaksnya tidak jauh berbeda.

Selain itu, Anda dapat menggunakan transpiler, seperti babel, untuk mengubah kode es6 / 7 menjadi es5, dan menggunakannya, memeriksanya, atau mempelajarinya.

Tidak ada yang memaksa orang untuk menggunakan react-dnd, juga bukan tujuan perpustakaan ini menjadi solusi 'satu-satunya'.

@hakanderyal persis maksud saya!

@hakanderyal kami tidak membahas itu .. Anda benar, kami semua berterima kasih kepada @gaearon atas kerja luar biasa dalam proyek ini.

Kami tahu tidak ada niat jahat untuk menulis contoh di ES6. Secara pribadi saya tidak menuduh siapa pun tentang ini. Namun demikian, saya yakin masalah ini menunjukkan kepada kita perlunya contoh ES5.

Ya, kita dapat menggunakan Babel, tetapi dalam beberapa kasus Anda tidak ingin menambahkan lebih banyak kerumitan pada proyek Anda menambahkan lebih banyak lib hanya karena contoh yang Anda miliki memerlukannya. Saya menggunakan React dan ReactDnD dalam proyek Rails dan sejujurnya saya tidak ingin berurusan dengan lebih banyak transpiler dan lainnya hanya untuk menjalankan kode saya ..

Juga, beberapa orang (termasuk saya sendiri) bukan ahli JS, jadi saya pikir akan bagus untuk menjaga sesederhana mungkin.

Setiap kontributor yang sudah ada atau yang baru dapat memimpin masalah ini dan mulai menambahkan beberapa contoh, tidak hanya @gaearon

@ bismark64 @jereyescott @gergentcotts Lihat # 214

: +1: @vkbansal yang luar biasa! Terima kasih!

Terima kasih, @vkbansal - Anda

Hai semuanya.

Saya menghabiskan berminggu-minggu waktu pribadi saya mengerjakan proyek ini dan situs web dokumennya yang merupakan satu-satunya situs web perpustakaan JS yang saya ketahui yang menampilkan contoh kode ES5, ES6 dan ES7 pada setiap halaman dokumen yang berisi beberapa kode. Maaf, saya tidak memenuhi harapan Anda dengan contoh itu sendiri!

Ketika saya mendapatkan waktu luang setelah menghabiskan waktu berminggu-minggu dan malam dari waktu pribadi saya yang tidak dibayar untuk mengerjakan pembicaraan React Europe, saya mungkin mempertimbangkan permintaan Anda. Sementara itu, gunakan pustaka lain atau minta seseorang untuk membantu Anda dengan contoh ES5.

Berikut beberapa hal yang saya sarankan untuk Anda lakukan ketika Anda memiliki waktu luang:

Terima kasih.

PS Terima kasih banyak kepada @vkbansal.

Hai Gaearon,

Merilis kode Anda untuk penggunaan publik sangat dihargai oleh sebagian besar orang yang menggunakannya.

Anda mendorong hal-hal 'maju' dan melakukannya di depan umum .. tidak satupun yang 'mudah'.

Saya sangat terkejut (dan saya pikir kebanyakan orang akan) dengan tuduhan yang Anda terima
misalnya 'memaksa' orang .. dan menjadi 'bermusuhan'
... terutama saat Anda mengundang kontribusi

Tanggapan Anda terhadap serangan ini jauh lebih terkendali daripada saya akan diberi provokasi yang sama.

Mohon jangan kecewa dengan minoritas negatif ini

terima kasih banyak untuk kode dan idenya

Stu

Mohon hormati keinginan saya untuk _tidak_ melanjutkan diskusi ini. Saya tidak ingin mengirim spam kepada orang-orang yang menonton repo ini lebih jauh.

Saya tidak mengunci masalah, tetapi jika ada komentar lain yang diposkan, saya berharap ini menjadi komentar berguna yang menautkan ke lebih banyak PR atau semacamnya, bukan komentar "diskusi". Kita bisa memutar kata-kata satu sama lain selamanya dan "mendengar kedua sisi" tapi saya tidak mengerti intinya.

Saya memahami kekhawatiran Anda: Anda memerlukan contoh ES5 dan tidak ingin mempelajari ES6 / 7 saat ini. Posisi yang benar-benar valid untuk dimiliki. Posisi saya saat ini adalah saya _ secara fisik tidak dapat_ mengerjakan contoh-contoh ini. Saya mungkin bisa melakukannya di masa depan. Saat ini tidak ada yang dapat saya lakukan untuk membantu Anda kecuali menunjukkan sumber belajar ES6 yang hebat ini (begitulah cara saya mempelajarinya sendiri).

Selain itu, jika saya fokus pada contoh-contoh ini, saya tidak akan mengirimkan 1.0 sama sekali. Itu adalah pemotongan yang diperlukan untuk mengeluarkan 1,0 karena saya harus mulai mengerjakan pembicaraan saya segera setelah itu. Anda dapat menggunakan React DnD 0.9.2 yang merupakan versi terbaru untuk memiliki contoh ES5 . Perhatikan bahwa ini berbeda secara signifikan dari 1.0.

Terakhir, ada etiket open source tertentu, dan beberapa frasa di komentar di atas melanggarnya. Jika Anda tidak melihatnya, ini adalah masalah Anda, bukan masalah saya. Melanggar etiket ini adalah salah satu alasan pengelola kehabisan tenaga dan meninggalkan proyek populer mereka. Anda mungkin berpikir bahwa keluhan _Anda_ valid dan Anda _maksudnya baik_ tetapi sama sekali tidak relevan. Sangat sulit untuk benar-benar memahami ini sampai Anda mengeluarkan keringat dan darah ke dalam proyek Anda sendiri dan memiliki masalah serupa.

Singkatnya, jika ini adalah utas produktif selanjutnya, saya senang. Jika itu "siapa yang salah", saya akan menguncinya.
Terima kasih.

Kamu benar sekali @stooboo dan @gaearon. Saya minta maaf jika komentar saya di atas melanggar etiket ini, dan Anda merasa dituduh atau saya tidak menghormati Anda. Saya tahu mempertahankan proyek seperti itu membutuhkan banyak usaha dan waktu, dan Anda sejauh ini melakukannya dengan baik, jadi saya bersyukur untuk itu. Niat saya hanya menunjukkan kekhawatiran ini.
Mengatakan bahwa, kita harus melewati ini dan membiarkan utas ini berkembang seperti biasa ..

Saya merasa malu dan malu. Saya sangat menyesal atas komentar saya, @gaearon. Bukan alasan, tapi minggu ini sangat berat bagi saya, dan di saat-saat frustrasi, saya menyerang. Benar-benar maaf, dan terima kasih banyak untuk perpustakaan yang luar biasa ini .

Izinkan saya juga memberikan beberapa konteks. Contoh alasan tidak ditulis di ES5 adalah karena _reason_ utama yang saya tulis 1.0 adalah orang-orang yang mengalami masalah saat menggunakan 0.x dari kelas ES6: # 109.

Akan konyol untuk merilis 1.0 "memecahkan" masalah kelas ES6 tanpa kelas ES6 dalam contoh. Oleh karena itu saya membuat keputusan untuk menggunakan ES6 lebih lanjut.

Jika Anda menggunakan React, kemungkinan besar Anda _sudah_ memiliki langkah pembuatan. Anda perlu mengkompilasi BEJ bukan? (Kebanyakan orang menggunakannya.) Jika Anda sudah memiliki langkah build, secara harfiah tidak ada biaya untuk mengganti langkah build JSX dengan langkah build Babel. Faktanya, itulah yang akan dilakukan Facebook juga.

Saya berharap saya harus meninggalkan perpustakaan ini untuk "menggantung" sebentar karena saya tahu saya perlu mengerjakan ceramah saya. Oleh karena itu, saya memilih untuk membangunnya _ melihat ke depan, daripada ke belakang_, sehingga dapat hidup sendiri beberapa saat tanpa campur tangan saya.

@jeffreywescott Tidak masalah, dan sama-sama. Terima kasih telah meminta maaf. Saya sangat menghargai dan saya tahu sulit untuk mengakui kesalahan.

: +1:

@gaearon @emergentcypher @awarberg @jeffreywescott @ bismark64

Saya mengikuti Tutorial kebanyakan ES5 (karena saya terlalu lambat untuk belajar ES6, tetapi pada akhirnya saya akan, saya menggunakan JSX, jelas, dan merusak ): https://github.com/jehoshua02/react-dnd-experiment

Harap lacak contoh ES5 di sini:
https://github.com/vkbansal/react-dnd-es5-examples

Terima kasih banyak untuk @vkbansal.

Akhirnya punya waktu untuk menyelesaikannya: http://vkbansal.github.io/react-dnd-es5-examples/

Bukan niat saya untuk meningkatkan emosi orang, saya hanya ingin membantu perpustakaan agar dapat diakses dan saya sangat memperhatikan contoh yang berisi fitur ES7 eksperimental yang, meskipun saya beralih ke ES6, tetap tidak dapat digunakan. Menurut saya penting untuk terus mendorong komunitas dev menuju ES6 sekarang setelah diselesaikan dan saya yakin @gearon membuat pilihan yang tepat dalam memperlakukan kode ES6 sebagai prioritasnya, dan saya minta maaf jika saya mengucapkan komentar asli saya dengan buruk.

Untuk mengomentari langkah-langkah pembangunan, lingkungan pembangunan saya memang memiliki langkah pembangunan JSX, tetapi karena lingkungan pembangunan saya bukan Node.js tetapi ditangani dalam bahasa lain, itu tidak selalu sesederhana "memasukkan" Babel daripada JSX, terutama jika Anda bekerja dalam tim yang tidak bertanggung jawab atas pembuatannya.

Terima kasih @vkbansal dan terima kasih @gaearon untuk semua pekerjaan Anda sejak awal.

  • Meskipun sebagian besar orang yang terlibat hampir tidak masuk ke ES6,
  • Sedangkan transpiling dari ES7 ke ES5 sering menghasilkan kode yang tidak menyenangkan untuk diuraikan,
  • Meskipun semua fungsi ES7 masih dianggap eksperimental,

Hapus semua penggunaan ES7

Memanfaatkan ES7 untuk kesederhanaan / kesederhanaan sintaksis hanya berfungsi jika semua orang yang terlibat mengetahui varian historis dalam sintaksis.

@vkbansal terima kasih telah menyatukan contoh-contoh itu.


Contoh item kedua:

Kode Bersih:

var DragSourceDecorator = DragSource(ItemTypes.CARD, cardSource,
    function(connect, monitor) {
        return {
            connectDragSource: connect.dragSource(),
            isDragging: monitor.isDragging()
        };
});

var DropTargetDecorator = DropTarget(ItemTypes.CARD, cardTarget,
    function(connect) {
        return {
            connectDropTarget: connect.dropTarget()
        };
});

module.exports = DropTargetDecorator(DragSourceDecorator(Card));

Output Transpiled (dari contoh ):

Card = (0, _reactDnd.DragSource)(_ItemTypes2['default'].CARD, cardSource, function (connect, monitor) {
    return {
      connectDragSource: connect.dragSource(),
      isDragging: monitor.isDragging()
    };
  })(Card) || Card;
  Card = (0, _reactDnd.DropTarget)(_ItemTypes2['default'].CARD, cardTarget, function (connect) {
    return {
      connectDropTarget: connect.dropTarget()
    };
  })(Card) || Card;
  return Card;

edit: salah merujuk @emergentcypher sebagai penulis contoh es5.

Apakah kau mabuk?
Maaf! berkomentar di tempat yang salah!

@adamellsworth Tidak ada yang memaksa Anda untuk menggunakan ES7. Jika Anda tidak ingin menggunakannya maka jangan, tetapi Anda tidak memiliki hak untuk memberi tahu penulis tentang apa yang harus dilakukan.

Orang berhak untuk berkomentar! Itulah hal hebat tentang open source. Saya tidak berpikir mengatakan "tolong hapus" adalah memerintah penulis. Jika penulis tidak ingin menerima komentar dan permintaan, maka dia tidak boleh menerbitkan karya di github.

Karena sekarang kita memiliki contoh ES5, saya akan menutupnya sendiri :)

Orang berhak untuk berkomentar! Itulah hal hebat tentang open source.

@ emergentcypher Anda benar.

@gaearon menyadari sepenuhnya bahwa tidak semua orang nyaman menggunakan ES7, oleh karena itu ia menyempatkan diri untuk memasukkan contoh ES6 dan ES5 di website.

Jika penulis tidak ingin menerima komentar dan permintaan, maka dia tidak boleh menerbitkan karya di github.

Ya, penulis ingin menerima komentar dan tanggapan tetapi yang konstruktif .

Meminta penulis untuk menghapus sesuatu sepenuhnya hanya karena Anda tidak menggunakannya, sama dengan menghampiri atasan Anda dan memintanya untuk memecat salah satu kolega Anda hanya karena Anda tidak menyukai wajahnya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat