محمد برزگر
5 سال پیش توسط محمد برزگر مطرح شد
3 پاسخ

مشکل در استفاده از context در class

دوستان من در کامپوننت اصلی createContext رو انجام دادم و در کلاس کامپوننت خواستم استفاده کنم ولی هی خطا میده که مقدار دهی نشده !هزار با خود تمرین و سایت های مختلف خارجی هم گشتم جواب نگرفتم ..نمیفهمم یعنی چی انجام نمیشه:

import React,{Component} from 'react';
import {contexxs} from './index'

// برای این کلاس کامپوننت امتحان کردم جواب نداد هر کار کردم 
 class Roots1 extends Component{
  static contextType=contexxs;

  render(){

    return(
      <>
        <p>shoma {console.log(this.context)}</p>
      </>
    )
  }
}

export default Roots1;

این هم از کد در کلاس اصلی:

import React,{createContext} from 'react';
import ReactDOM from 'react-dom';
import Roots1 from './news'
import  as serviceWorker from './serviceWorker';
// Roots,
export let contexxs=createContext();
class Show extends React.Component{
  state={count:0}
  render(){
    return(
      <contexxs.Provider value={{name:'ali',family:'mohammady',done:'false'}} >
      <div className='container-main'>
        <Doss />
      </div>
      </contexxs.Provider>
    )
  }
}

function Doss(props){
  return(
    <>
    <Roots />
    </>
  )
}

ReactDOM.render(<Show />, document.getElementById('root'));

ثبت پرسش جدید
مهدی پاکروان
تخصص : Mernstack Developer
@mahdipakravan 5 سال پیش مطرح شد
1

مشکلت رو که متوجه نشدم چیه ولی یه پیشنهاد که بهت میکنم اینه که اسم متغیر هاتو اینجوری نزار...
contexxs خیلی اشتباه برای نام گذاری متغیر هات اگر هم داری از چند تا Context استفاده میکنی از روشای مهندسی نرم افزار برای انتخاب اسم استفاده کن مثلا CamelCase که توی این روش اینجوری نام گذاری میکنیم contextAuthentication , contextPosts .
یکم تمیز تر و با حوصله تر کد بزنی کمتر به همچین مشکلایی برخورد میکنی توی کد زدنت


محمد برزگر
تخصص : react js
@mohammadbrzbrz72 5 سال پیش مطرح شد
0

@mahdipakravan79

درسته حق با شماست در نگارش کد ها

ولی من همینطوری سر سری گذاشتم ..و کلمات مختلف رو چک میکردم گفتم شاید مشکل از برنامه باشه

به مشکل بر خوردم که خواستم context رو خواستم در کلاس ها استفاده کنم .که مقدار props رو از والد پاس بدم به کلاس فرزند پاس بدم وقتی والد و فرزند در یک ماژول هستن انجام میشه ولی کلاس فرزند در ماژول دیگری قرار داره این کار نمیدونم چرا برای من انجام نمیشه اگر context رو در کامپوننت کلاس استفاده کنم..
ولی برای فانکشن کامپوننت مشکلی پیش نمیاد و میشه از کانتکست استفاده کرد و مشکلی پیش نمیاد


محمد برزگر
تخصص : react js
@mohammadbrzbrz72 5 سال پیش آپدیت شد
0

@mahdipakravan79

توی استک اور فلو این رو سوال کردم جواب دادن
تو گروه های مختلف ایرانی رفتم جواب نداد کسی
حال ندید ..حال نداشت..یا هر دلیلی یه خارجی پیدا شد جواب بده دمش گرم ..کار راه بنداز هم بود

https://stackoverflow.com/questions/60514686/how-to-use-context-for-class-component-in-other-module-in-react-js/6052856960528569


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام