اذهب إلى المحتوى
  • 0

ماذا يعني @ في جافاسكريبت

Rayden Storm

السؤال

أنا استخدم 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 {
....
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

الرمز @ في  جافاسكريبت يعتبر decorators و ال decorators في جافاسكريبت تتيح لنا عمل annotation و modification للأصناف و ال properties الخاصة بها أثناء وقت التصميم.

كلا المثابين المرفقان في سؤالك صحيحين و متكافئين، أي أنّهما طريقتين مختلفتين للقيام بنفس الوظيفة، و اختيارإحداهما على الأخرى يعتبر تفضيل شخصي فقط ليس إلّا

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هذا يسمى بال decorator وتستطيع التعرف عليه مباشرة إذا كان متبوعاً بعلامة ال @ وهي عبارة عن إحاطة جزء من الكود بجزء آخر مثل ال HOCS وفي حالتك أنت تريد أن تحيط المكون الخاص بك App بال Store ولذلك كتبت هكذا 

@connect(mapStateToProps, mapDispatchToProps) // هذا يحيط ما يليه 
export default class App extends React.Component { // هذا لديه بيانات من ال store
....
}


 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...