Rayden Storm نشر 22 مارس 2021 أرسل تقرير نشر 22 مارس 2021 أنا استخدم redux كثيرا موخرا وفي العادة أستخدم connect بهذه الطريقة import React from 'react' import { connect } from 'react-redux' class App extends React.Component { ...... } const mapStateToProps = (state) => { .... } const mapDispatchToProps = (dispatch) { ..... } export default connect(mapStateToProps, mapDispatchToProps)(App) ومؤخرا رأيت استخدام جميل بهذه الطريقة لكنني لا أفهم الشيفرة لانني لم أرى مثلها من قبل import React from 'react' import { connect } from 'react-redux' const mapStateToProps = (state) => { .... } const mapDispatchToProps = (dispatch) { ..... } @connect(mapStateToProps, mapDispatchToProps) export default class App extends React.Component { .... } اقتباس
0 Yomna Raouf نشر 22 مارس 2021 أرسل تقرير نشر 22 مارس 2021 الرمز @ في جافاسكريبت يعتبر decorators و ال decorators في جافاسكريبت تتيح لنا عمل annotation و modification للأصناف و ال properties الخاصة بها أثناء وقت التصميم. كلا المثابين المرفقان في سؤالك صحيحين و متكافئين، أي أنّهما طريقتين مختلفتين للقيام بنفس الوظيفة، و اختيارإحداهما على الأخرى يعتبر تفضيل شخصي فقط ليس إلّا 1 اقتباس
0 Mohammed Saber6 نشر 22 مارس 2021 أرسل تقرير نشر 22 مارس 2021 هذا يسمى بال decorator وتستطيع التعرف عليه مباشرة إذا كان متبوعاً بعلامة ال @ وهي عبارة عن إحاطة جزء من الكود بجزء آخر مثل ال HOCS وفي حالتك أنت تريد أن تحيط المكون الخاص بك App بال Store ولذلك كتبت هكذا @connect(mapStateToProps, mapDispatchToProps) // هذا يحيط ما يليه export default class App extends React.Component { // هذا لديه بيانات من ال store .... } 1 اقتباس
السؤال
Rayden Storm
أنا استخدم redux كثيرا موخرا وفي العادة أستخدم connect بهذه الطريقة
ومؤخرا رأيت استخدام جميل بهذه الطريقة لكنني لا أفهم الشيفرة لانني لم أرى مثلها من قبل
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.