আমি টাইপসক্রিপ্ট, প্রতিক্রিয়া এবং রেডাক্স (সমস্ত ইলেক্ট্রন চলমান) নিয়ে একটি প্রকল্পে কাজ করছি, এবং যখন আমি অন্য শ্রেণীর উপর ভিত্তি করে একটি শ্রেণিভিত্তিক উপাদান অন্তর্ভুক্ত করছি এবং তাদের মধ্যে পরামিতিগুলি পাস করার চেষ্টা করছি তখন আমি একটি সমস্যার মুখোমুখি হয়েছি। আলগাভাবে বলতে গেলে, আমি ধারক উপাদানটির জন্য নিম্নলিখিত কাঠামোটি পেয়েছি:
class ContainerComponent extends React.Component<any,any> {
..
render() {
const { propToPass } = this.props;
...
<ChildComponent propToPass={propToPass} />
...
}
}
....
export default connect(mapStateToProps, mapDispatchToProps)(ContainerComponent);
এবং সন্তানের উপাদান:
interface IChildComponentProps extends React.Props<any> {
propToPass: any
}
class ChildComponent extends React.Component<IChildComponentProps, any> {
...
}
....
export default connect(mapStateToProps, mapDispatchToProps)(ChildComponent);
স্পষ্টতই আমি কেবলমাত্র বেসিকগুলিই অন্তর্ভুক্ত করছি এবং এই ক্লাসগুলির উভয়ের মধ্যে আরও অনেক কিছু রয়েছে তবে আমি যখন চেষ্টা করি এবং বৈধ কোডের মতো আমার কাছে যা দেখায় তেমন চালায় তখনও আমি একটি ত্রুটি পেয়ে যাচ্ছি। আমি যে সঠিক ত্রুটি পাচ্ছি:
TS2339: Property 'propToPass' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<Component<{}, ComponentState>> & Readonly<{ childr...'.
যখন আমি প্রথম ত্রুটির মুখোমুখি হলাম তখন আমি ভেবেছিলাম কারণ এটি আমার প্রপস সংজ্ঞায়িত করার জন্য একটি ইন্টারফেসে যাচ্ছিল না, তবে আমি এটি তৈরি করেছি (আপনি উপরে দেখতে পারেন) এবং এটি এখনও কার্যকর হয় না। আমি ভাবছি, আমি এখানে কিছু মিস করছি?
আমি যখন কনটেইনার কম্পোনেন্টের কোড থেকে চাইল্ড কম্পোনেন্টের প্রস্তাবটি বাদ দিই তখন এটি ঠিক জরিমানা করে (আমার চাইল্ডকমম্পোনেন্টের সমালোচনা না করে) তবে জেএসএক্স টাইপস্ক্রিপ্টে এটি সংকলন করতে অস্বীকার করে। আমি মনে করি এই নিবন্ধের উপর ভিত্তি করে সংযোগের মোড়ক নিয়ে কিছু করার থাকতে পারে তবে এই নিবন্ধটিতে সমস্যাগুলি সূচক.টিএসএক্স ফাইলে এসেছিল এবং এটি সরবরাহকারীর ক্ষেত্রে একটি সমস্যা ছিল এবং আমি আমার সমস্যা অন্য কোথাও পাচ্ছি।
React.Props
অবমূল্যায়ন করা হয়েছে !!