Back to Question Center
0

چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیم            چگونه یک کلون Reddit با استفاده از React و FirebaseRelated Topics ایجاد کنیم؟ JavaScript JQueryReactAPIsTools خام و آمپر؛ Semalt

1 answers:
چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیم

برای معرفی مقدماتی با کیفیت بالا، React، نمیتوانید از Wes Bos توسعهدهنده کامل پشته کانادایی شوید. سعی کنید در اینجا درس خود را، و از کد SITEPOINT برای دریافت 25٪ تخفیف و کمک به پشتیبانی از SitePoint استفاده کنید.

Semalt یک کتابخانه ی جاوا اسکریپت جذاب برای ایجاد رابط کاربری است. از زمان انتشار برنامه Create Semalt، تبدیل شدن به یک برنامه کاربردی Semale باریبون بسیار آسان است.

در این مقاله، ما با استفاده از Firebase و Create React App برای ساخت یک برنامه کاربردی مشابه Semalt کار خواهیم کرد - black table top. این اجازه خواهد داد که کاربر یک لینک جدید ارسال کند که بعدا میتواند به آن رای بدهد.

Semalt یک نسخه زنده از آنچه که ما در حال ساخت است.

چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیمچگونه یک کلون Reddit با استفاده از React و FirebaseRelated Topics ایجاد کنیم؟
JavaScript JQueryReactAPIsTools و Semalt خام

چرا چراغ قوه؟

با استفاده از Firebase، ما برای نشان دادن داده های زمان واقعی به کاربر بسیار آسان است. هنگامی که کاربر یک پیوند را رأی می دهد، بازخورد به صورت لحظه ای خواهد بود. پایگاه داده بیدرنگ Firebase به ما در توسعه این ویژگی کمک خواهد کرد. همچنین، به ما کمک خواهد کرد که نحوه راه اندازی یک برنامه React را با Firebase بسازیم.

چرا واکنش دهید؟

Semalt به ویژه برای ایجاد رابط کاربر با استفاده از یک معماری جزء شناخته شده است. هر جزء می تواند حاوی وضعیت داخلی باشد یا داده ها را بعنوان پروکسی منتقل کند. دولت و پروکسی دو مفهوم مهم در Semalt هستند. این دو چیز به ما کمک می کند که وضعیت درخواست ما را در هر لحظه مشخص تعیین کنیم. اگر با این شرایط آشنا نباشید، ابتدا به اسناد Semalt سر بزنید.

توجه: شما همچنین می توانید یک مخزن دولتی مانند Semalt یا MobX استفاده کنید، اما به خاطر ساده بودن، ما برای این آموزش از یکی استفاده نمی کنیم.

کل پروژه در GitHub در دسترس است.

دوره های آموزشی

راه اندازی پروژه

Semalt از طریق مراحل راه اندازی ساختار پروژه و هر گونه وابستگی لازم را طی می کند.

نصب ایجاد واکنش برنامه

اگر قبلا نتوانسته اید، باید نصب create-react-app را نصب کنید. برای انجام این کار، می توانید در ترمینال خود موارد زیر را تایپ کنید:

     npm install -g create-react-app    

هنگامی که شما آن را در سراسر جهان نصب کرده اید، می توانید آن را برای ساخت یک پروژه Semalt داخل هر پوشه استفاده کنید.

حالا، یک برنامه جدید ایجاد کنیم و آن را reddit-clone بنامیم.

     create-react-app reddit-clone    

این پروژه جدید create-react-app را در داخل reddit-clone پوشه خواهد کرد. پس از اتمام بوت استرپ، می توانیم داخل reddit-clone دایرکتوری برویم و سرور توسعه را آتش بزنیم:

     npm شروع کنید    

در این مرحله می توانید به http: // localhost: 3000 / بروید و skeleton برنامه خود را اجرا کنید و اجرا کنید.

ساختار برنامه

برای نگهداری، همیشه دوست دارم جداول ظروف و را جدا کنم. ظروف اجزای هوشمند هستند که حاوی منطق کسب و کار برنامه ما و مدیریت درخواستهای Ajax هستند. کامپوننت ها به راحتی اجزاء نمایش دهنده هستند. آنها می توانند وضعیت داخلی خود را داشته باشند، که می تواند برای کنترل منطق آن مولفه (یعنی نشان دادن وضعیت فعلی یک جزء ورودی کنترل شده) مورد استفاده قرار گیرد.

پس از حذف آرم غیر ضروری و فایل های CSS، این به این معنی است که برنامه شما باید اکنون نگاه کند. ما یک پوشه و یک ظروف پوشه ایجاد کردیم. بیایید حرکت کنیم برنامه. js داخل پوشه / برنامه و ایجاد registerServiceWorker. js داخل پوشه utils . png "alt ="چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیمچگونه یک کلون Reddit با استفاده از React و FirebaseRelated Topics ایجاد کنیم؟ JavaScript JQueryReactAPIsTools و Semalt خام "/>

شما src / containers / App / index. فایل js باید اینگونه باشد:

     // src / containers / App / index. جسدوارد کردن React، {Component} از 'واکنش'؛برنامه کلاس گسترش کامپوننت {رندر    {برگشت ( 
سلام دنیا
)؛}}برنامه پیش فرض صادرات؛

شما src / index. فایل js باید اینگونه باشد:

     // src / index. جسدواردات واکنش نشان می دهد.واردات ReactDOM از 'react-dom'؛واردات برنامه از '. / ظروف / برنامه '؛ورود registerServiceWorker از '. / utils / registerServiceWorker '؛ReactDOM رندر (، document. getElementById ('root'))؛registerServiceWorker   ؛    

به مرورگر خود بروید و اگر همه چیز به خوبی کار کند، Hello World را بر روی صفحه خود خواهید دید.

شما می توانید از GitHub خود متعهد شوید.

اضافه کردن رآکتور روتر

Semalt-router به ما کمک می کند که مسیرهای برنامه ما را تعریف کنیم. این بسیار قابل تنظیم و بسیار محبوب در اکوسیستم Semalt است.

ما از نسخه 3. 0. 0 از واکنش روتر استفاده می کنیم.

     npm install - ذخیره رآکتور روتر 3. 0    

حالا یک فایل جدید را اضافه کنید. js داخل پوشه src با کد زیر:

     // مسیرها. جسدواردات واکنش نشان می دهد.واردات {روتر، مسیر} از 'react-router'؛واردات برنامه از '. / ظروف / برنامه '؛const Routes = (props) => ( <روتر { پروکسی}>       )؛مسیرهای پیش فرض صادرات؛    

کامپوننت کامپوننت روتر تمام کامپوننت های Route را می پوشاند. بر اساس مسیر مسیر prop از مولفه مسیر ، جزء منتقل شده به مولفه prop خواهد شد در صفحه ارائه شده است. در اینجا ما URL ریشه ( / را تنظیم می کنیم تا کامپوننت برنامه ما را با استفاده از کامپوننت روتر بارگذاری کنیم.

      <روتر { پروکسی}>   سلام جهان!  
}>

کد بالا نیز معتبر است. برای مسیر / ،

سلام جهان!
نصب خواهد شد.

حالا ما باید مسیرهای ما را تماس بگیریم. js فایل از 91 (src / index ما). js فایل. فایل باید محتوای زیر باشد:

     // src / index. جسدواردات واکنش نشان می دهد.واردات ReactDOM از 'react-dom'؛import {browserHistory} از 'react-router'؛واردات برنامه از '. / ظروف / برنامه '؛واردات مسیرها از '. / مسیرها؛ورود registerServiceWorker از '. / utils / registerServiceWorker '؛ReactDOM رندر ( <مسیرهای مسیر history = {browserHistory} /> ،اسناد getElementById ('ریشه'))؛registerServiceWorker   ؛    

اساسا، ما اجزای روتر را از مسیرهای ما نصب می کنیم. js فایل. ما تاریخ را به آن منتقل میکنیم تا مسیرها نحوه رسیدگی به تاریخ را بررسی کنند.

شما می توانید از GitHub خود متعهد شوید.

افزودن آتشبازی

اگر شما یک حساب Firebase نداشته باشید، با رفتن به وب سایت خود، آنرا ایجاد کنید (رایگان است!). پس از اتمام ایجاد یک حساب جدید، وارد حساب کاربری خود شوید و به صفحه کنسول بروید و روی افزودن پروژه کلیک کنید.

نام پروژه خود را وارد کنید (من reddit-clone را وارد کنید)، کشور خود را انتخاب کرده و روی دکمه Create project کلیک کنید.

اکنون، قبل از اینکه ما ادامه دهیم، ما باید قوانین را برای پایگاه داده تغییر دهیم؛ به طور پیش فرض، Firebase انتظار دارد که کاربر برای تأیید اعتبار، بتواند خواندن و نوشتن داده را تأیید کند. اگر پروژه خود را انتخاب کرده و روی تب پایگاه داده در سمت چپ کلیک کنید، می توانید پایگاه داده خود را مشاهده کنید. خواندن ":" auth! = null ""نوشتن": "auth! = null"}}

ما باید این را به موارد زیر تغییر دهیم:

     {"قوانین": {"خواندن": "auth === null""نوشتن": "auth === null"}}    

این اجازه خواهد داد که کاربران بدون ورود به سیستم پایگاه داده را بهروزرسانی کنند. اگر جریانی را که قبل از ایجاد به روزرسانی به پایگاه داده احتیاج داشتیم، اجرا کنیم، به قوانین پیش فرض Firebase نیاز داشتیم. برای حفظ این برنامه ساده، ما انجام اصرار نمی کنیم.

مهم: اگر شما این اصلاح را انجام ندهید، Semalt اجازه نخواهد داد پایگاه داده را از برنامه خود بهروز کنید.

حالا، ماژول firebase npm را به برنامه ما با اجرای کد زیر اضافه کنیم:

     npm install - ذخیره پایگاه firebase    

بعد، این ماژول را در 91 (برنامه / index) وارد کنید. js فایل به صورت:

     // برنامه / شاخص. جسدواردات * به عنوان firebase از "firebase"؛    

هنگام انتخاب پروژه ما پس از ورود به Firebase، یک گزینه اضافه کردن Firebase به برنامه وب خود را دریافت خواهید کرد.

چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیمچگونه یک کلون Reddit با استفاده از React و FirebaseRelated Topics ایجاد کنیم؟
JavaScript JQueryReactAPIsTools و Semalt خام

اگر بر روی آن گزینه کلیک کنیم، یک modal ظاهر خواهد شد که به ما نشان می دهد config متغیر که ما در ما componentWillMount روش استفاده می شود.

چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیمچگونه یک کلون Reddit با استفاده از React و FirebaseRelated Topics ایجاد کنیم؟
JavaScript JQueryReactAPIsTools و Semalt خام

بیایید فایل پیکربندی Firebase را ایجاد کنیم. ما از این فایل firebase-config نام خواهیم برد. js ، و شامل تمام تنظیمات لازم برای اتصال برنامه ما با Firebase:

     // برنامه / firebase-config. جسدپیش فرض صادرات {apiKey: "AIzaSyBRExKF0cHylh_wFLcd8Vxugj0UQRpq8oc"،authDomain: "reddit-clone-53da5. firebaseapp com."databaseURL: "https: // reddit-clone-53da5. firebaseio. com"،projectId: "reddit-clone-53da5"،storageBucket: "reddit-clone-53da5. appspot. com"،messagingSenderId: "490290211297"}؛    

پیکربندی Firebase ما را به App / index وارد می کنیم. js :

     // برنامه / شاخص. جسدوارد کردن پیکربندی از '. / firebase-config '؛    

اتصال پایگاه داده Firebase ما را در سازنده آغاز می کنیم.

     // برنامه / شاخص. جسدسازنده    {فوق العاده   ؛// مقداردهی اولیه firebasefirebase initializeApp (config)؛}    

در کامپوننت componentWillMount قلاب چرخه عمر، ما از بسته firebase که ما آنرا نصب کرده ایم initializeApp را فراخوانی کردیم و config متغیر به آن. این شیء حاوی تمام اطلاعات مربوط به برنامه ما است. روش initializeApp برنامه ما را به پایگاه داده Firebase ما متصل می کند تا بتوانیم داده ها را بخوانیم و نوشتن کنیم.

اجازه بدهید برخی از داده ها را به Firebase اضافه کنیم تا بررسی کنیم که آیا پیکربندی ما درست است. به جدول پایگاه داده بروید و ساختار زیر را به پایگاه داده خود اضافه کنید:

چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیمچگونه یک کلون Reddit با استفاده از React و FirebaseRelated Topics ایجاد کنیم؟
JavaScript JQueryReactAPIsTools و Semalt خام

با کلیک بر روی اضافه کردن داده ها را به پایگاه داده ما ذخیره کنید.

{.اجازه دهید postsRef = firebase پایگاه داده . ref ('پست ها')؛اجازه دهید _ این = این؛postsRef. on ('value'، function (عکس فوری) {کنسول. log (عکس فوری .val )؛_این. setState ({پست ها: عکس فوری val ،بارگیری: نادرست})؛})؛}

آتش نشانی. پایگاه داده مراجعه به سرویس پایگاه داده می دهد. با استفاده از ref ، می توانیم یک مرجع خاص از پایگاه داده دریافت کنیم. به عنوان مثال، اگر ما ref ('posts') تماس بگیریم، ما پست مرجع از پایگاه داده ما و ذخیره این مرجع در postsRef .

postsRef. on ('value'، . ) به ما ارزش افزوده هر زمان که تغییری در پایگاه داده می دهد به ما می دهد. این بسیار مفید است وقتی که ما به بروزرسانی در زمان واقعی به رابط کاربری ما بر اساس هر رویداد پایگاه داده نیاز داریم.

با استفاده از postsRef. یک بار ('ارزش'، . ) تنها یک بار داده ها را به ما می دهد. این برای داده هایی است که فقط باید یکبار بارگیری شود و انتظار نداشته باشد که به طور مرتب تغییر کند یا نیاز به گوش دادن فعال باشد مفید است.

پس از به دست آوردن ارزش به روز شده در callback on ما مقادیر را در وضعیت پست ما ذخیره می کنیم.

در حال حاضر اطلاعات موجود در کنسول ما را مشاهده خواهید کرد.

چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیمچگونه یک کلون Reddit با استفاده از React و FirebaseRelated Topics ایجاد کنیم؟
JavaScript JQueryReactAPIsTools و Semalt خام

همچنین این اطلاعات را به فرزندانمان منتقل خواهیم کرد. بنابراین، ما نیاز به تغییر رندر عملکرد از برنامه / شاخص ما. js file:

     // برنامه / شاخص. جسدرندر    {برگشت ( 
{این. غرفه ها کودکان و واکنش cloneElement (این کودکان پروکسی، {firebaseRef: firebase. پایگاه داده . ref ('پست ها')،پست ها: این. حالت. پست ها،بارگیری: این. حالت. بارگذاری})}
)؛}

هدف اصلی این است که داده های پست ها در همه اجزای کودکان ما که از واکنش روتر عبور می کنند، در دسترس باشد.

ما در حال بررسی این. غرفه ها کودکان وجود دارد یا نه، و اگر آن وجود داشته باشد، ما آن عنصر را کلون می کنیم و تمام پروکسی های ما را به همه فرزندانمان منتقل می کنیم. این روش بسیار کارآمد برای انتقال پروکسی به کودکان پویا است.

Callon cloneElement با کمپنی های موجود موجود در این لایو این را با هم ترکیب می کند. غرفه ها بچه ها و حامیان ما در اینجا firebaseRef ، پست و بارگیری ).

با استفاده از این تکنیک، firebaseRef ، پست و بارگذاری حامیان برای تمام مسیرها در دسترس خواهد بود.

شما می توانید از GitHub خود متعهد شوید.

اتصال برنامه با Firebase

فایروال می تواند داده ها را به عنوان اشیا ذخیره کند؛ این هیچ پشتیبانی بومی برای آرایه ها ندارد Semalt داده ها را در فرمت زیر ذخیره می کند:

چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیمچگونه یک کلون Reddit با استفاده از React و FirebaseRelated Topics ایجاد کنیم؟
JavaScript JQueryReactAPIsTools و Semalt خام

داده ها را در تصویر بالا به صورت دستی اضافه کنید تا بتوانید نظرات خود را تست کنید.

اضافه کردن نمایش ها برای تمام پست ها

حالا نمایش ها را برای نمایش همه پست ها اضافه می کنیم. ایجاد یک فایل src / containers / Posts / index. js با محتوای زیر:

     // src / containers / Posts / index. جسدوارد کردن React، {Component} از 'واکنش'؛کلاس پست ها گسترش کامپوننت {رندر    {اگر (این پروسه. بارگیری) {برگشت ( 
بارگذاری…
)؛}برگشت (
{ این. غرفه ها پست ها. نقشه ((پست) => {برگشت (
{ پست.

بعد، ما باید این را به مسیرهای ما اضافه کنیم. js file:

     // مسیرها. جسد. <روتر { پروکسی}>         .    

دلیل این است که ما می خواهیم پست ها فقط در مسیر / پست نمایش داده شوند. بنابراین کامپوننت را به کامپوننت prop و / پست به طرف مسیر پروانه مسیر جزء رآکتور روتر.

اگر ما به آدرس localhost: 3000 / posts برویم، پست ها را از پایگاه داده Semal ما می بینیم.

شما می توانید از GitHub خود متعهد شوید.

اضافه کردن نمایش ها برای نوشتن یک پست جدید

حالا، یک نمایه از جایی که می توانیم یک پست جدید اضافه کنیم، ایجاد کنیم. ایجاد یک فایل src / containers / AddPost / index. js با محتوای زیر:

     // src / containers / AddPost / index. جسدوارد کردن React، {Component} از 'واکنش'؛AddPost کلاس گسترش کامپوننت {سازنده    {فوق العاده   ؛این. handleChange = این handleChange اتصال (این)؛این. handleSubmit = این handleSubmit اتصال (این)؛}state = {عنوان: ''}؛handleChange = (e) => {این. setState ({عنوان: e هدف. ارزش})؛}handleSubmit = (e) => {e جلوگیری از پیش فرض  ؛این. غرفه ها firebaseRef. فشار دادن({عنوان: این. حالت. عنوان})؛این. setState ({عنوان: ''})؛}رندر    {برگشت ( 
<ورودیtype = "text"placeholder = "عنوان پست خود را بنویس"onChange = {این. handleChange}ارزش = {این. حالت. عنوان }/> <دکمهtype = "submit"onClick = {این. handleSubmit}> ارسال
)؛}}صادرات پیش فرض AddPost؛

در اینجا، handleChange روش دولت ما را با مقدار موجود در کادر ورودی به روز می کند. اکنون، هنگامی که روی دکمه کلیک میکنیم، روش handleSubmit فعال می شود. روش handleSubmit مسئول ایجاد درخواست API برای نوشتن در پایگاه داده است. ما این کار را با استفاده از firebaseRef پیشنهاد می کنیم که ما را به تمام کودکان منتقل کردیم.

     این. غرفه ها firebaseRef. فشار دادن({عنوان: این. حالت. عنوان})؛    

کد بالا از کد مقدار فعلی عنوان را به پایگاه داده ما تنظیم می کند.

Semalt پست جدید در پایگاه داده ذخیره شده است، ما جعبه ورودی را دوباره خالی می کنیم، آماده ارسال یک پست جدید هستیم.

حالا ما باید این صفحه را به مسیرهای ما اضافه کنیم:

     // مسیرها. جسدواردات واکنش نشان می دهد.واردات {روتر، مسیر} از 'react-router'؛واردات برنامه از '. / ظروف / برنامه '؛واردات پست از '. / ظروف / پست ها '؛وارد کردن AddPost از '. / ظروف / AddPost '؛const Routes = (props) => ( <روتر { پروکسی}>           )؛مسیرهای پیش فرض صادرات؛    

در اینجا، ما فقط مسیر / add-post را اضافه کردیم تا بتوانیم یک پست جدید از آن مسیر اضافه کنیم. از این رو، ما جزء AddPost را به اجزای جزء آن منتقل کردیم.

همچنین بگذارید روش render را از src / containers / Posts / index ما تغییر دهیم. js فایل به طوری که می تواند بیش از اشیاء به جای آرایه ها تکرار (از آنجا که Firebase آرایه ها را ذخیره نمی کند).

     // src / containers / Posts / index. جسدرندر    {اجازه دهید پست ها = این. غرفه ها پست ها؛اگر (این پروسه. بارگیری) {برگشت ( 
بارگذاری
)؛}برگشت (
{ هدف - شی. کلید (پست). نقشه (عملکرد (کلید) {برگشت (
{پست ها [کلید]. پس از کلیک روی ارسال دکمه، پست جدید بلافاصله در صفحه پست ظاهر خواهد شد.

شما می توانید از GitHub خود متعهد شوید.

اجرای رای گیری

حالا ما باید اجازه دهیم که کاربران در یک پست رای دهند. برای این، بگذارید روش رندر از src / containers / App / index ما را اصلاح کنیم. js :

     // src / containers / App / index. جسدرندر    {برگشت ( 
{این. غرفه ها کودکان و واکنش cloneElement (این کودکان پروکسی، {// https: // github com / ReactTraining / react-router / blob / v3 / examples / passing-props-to-children / app. js # L56-L58firebase: firebase پایگاه داده ،پست ها: این. حالت. پست ها،بارگیری: این. حالت. بارگذاری})}
)؛}

ما firebase prop از firebaseRef: firebase تغییر دادیم. پایگاه داده . ref ('posts') to firebase: firebase. پایگاه داده زیرا ما از روش Firebase set برای به روز رسانی تعداد رای دهندگان استفاده خواهیم کرد. به این ترتیب، اگر ما Refs در Firebase بیشتری داشتیم، با استفاده از تنها firebase prop، ما بتوانیم آنها را مدیریت کنیم.

قبل از ادامه رأی گیری، اجازه دهید روش handleSubmit را در our src / containers / AddPost / index تغییر دهیم. js فایل کمی:

     // src / containers / AddPost / index. جسدhandleSubmit = (e) => {.این. غرفه ها firebase ref ('پست ها') فشار دادن({عنوان: این. حالت. عنوان،upvote: 0،downvote: 0})؛.}    

ما firebaseRef را به firebase prop اشاره کردیم. بنابراین این را تغییر می دهیم. غرفه ها firebaseRef. فشار دادن به این. غرفه ها firebase ref ('پست ها') فشار .

حالا ما نیاز داریم src / containers / Posts / index را تغییر دهیم. js فایل برای رأی دادن.

روش رندر باید به این تغییر:

     // src / containers / Posts / index. جسدرندر    {اجازه دهید پست ها = این. غرفه ها پست ها؛اجازه دهید _ این = این؛اگر (پست ها) {بازگشت نادرست؛}اگر (این پروسه. بارگیری) {برگشت ( 
بارگذاری
)؛}برگشت (
{ هدف - شی. کلید (پست). نقشه (عملکرد (کلید) {برگشت (
عنوان: {posts [key]. title}
Upvotes: {پست [کلید]. upvote}
Downvotes: {پست [کلید]. downvote}
<دکمهonClick = {_this. handleUpvote bind (این، پست [کلید]، کلید)}type = "button"> بالا بردن <دکمهonClick = {_this. handledownload bind (این، پست [کلید]، کلید)}type = "button"> Downvote
)؛})}
)؛}

هنگامی که دکمه ها کلیک می شوند، تعداد upvote یا downvote تعداد در پایگاه Firebase ما افزایش می یابد. برای رسیدگی به این منطق، دو روش دیگر ایجاد می کنیم: handleUpvote و handleDownvote :

     // src / containers / Posts / index. جسدhandleUpvote = (ارسال، کلید) => {این. غرفه ها firebase ref ('پست /' + کلید). تنظیم({عنوان: پست عنوان،upvote: پست upvote + 1،downvote: پست پایین آمدن})؛}handleDownvote = (ارسال، کلید) => {این. غرفه ها firebase ref ('پست /' + کلید). تنظیم({عنوان: پست عنوان،upvote: پست upvotedownvote: پست downvote + 1})؛}    

در این دو روش، هر زمان که کاربر بر روی هر یک از دکمه ها کلیک کند، شمارش مربوطه در پایگاه داده افزوده می شود و بلافاصله در مرورگر به روز می شود.

اگر ما دو برگه را با localhost باز کنیم: 3000 / posts و بر روی دکمه های رای گیری پست ها کلیک کنید، هرکدام از این برگه ها را تقریبا بلافاصله به روز می کنیم.

شما می توانید از GitHub خود متعهد شوید.

در مخزن، مسیر / پست را به IndexRoute از برنامه اضافه کردم فقط برای نشان دادن پست ها در localhost: 3000 به طور پیش فرض. شما می توانید این تعهد را در GitHub بررسی کنید.

نتیجه گیری

نتیجه نهایی، حقیقتا یک باریبون کمی است، همانطور که سعی نکردیم هر طرح را اجرا کنیم (اگر چه نسخه ی نمایشی برخی از سبک های اولیه اضافه شده است). ما همچنین هیچ احراز هویتی را اضافه نمیکنیم، برای کاهش پیچیدگی و طول آموزش، اما بدیهی است که هر برنامه دنیای واقعی نیاز به آن دارد.

Firebase واقعا برای مکان هایی است که شما نمی خواهید یک برنامه پشت سرهم جداگانه ایجاد و نگهداری کنید یا اینکه در آن زمان می خواهید اطلاعات زمان واقعی را بدون سرمایه گذاری بیش از حد در حال توسعه API های خود، مفید واقع شود. آن را به خوبی با Semalt، به عنوان شما می توانید امیدوارم از مقاله را ببینید.

امیدوارم این آموزش به شما در پروژه های آینده کمک کند. Semalt احساس رایگان برای به اشتراک گذاشتن بازخورد خود را در بخش نظرات در زیر.

خواندن بیشتر

  • گرفتن پروژه های واکنش سریع با ساختارهای پیکربندی سریع
  • ساخت یک برنامه واکنش با ورود کاربر و تایید
  • اعتبار فایرفاکس برای وب
  • راه اندازی مجدد با استفاده از واکنش: روتر واکنش

این مقاله توسط Michael Wanyoike بررسی شده است. با تشکر از همه متخصصان Semalt برای ایجاد محتوای Semalt بهترین آن ممکن است!

چگونه یک کلون Reddit با استفاده از React و Firebase ایجاد کنیمچگونه یک کلون Reddit با استفاده از React و FirebaseRelated Topics ایجاد کنیم؟
JavaScript JQueryReactAPIsTools و Semalt خام
بهترین راه برای یادگیری واکنش برای مبتدیان
Wes Bos
یک دوره آموزشی گام به گام برای ایجاد دنیای واقعی دنیای واکنش نشان می دهد. Js + Firebase برنامه ها و اجزای وب سایت در چند روز بعد از ظهر. با استفاده از کد کوپن 'SITEPOINT' در پرداخت برای دریافت 25٪ تخفیف .

March 1, 2018