0
myData.gender
を使用してgetMessage()
関数内のmyDataオブジェクトのプロパティにアクセスしようとすると、次のコンポーネントで未定義のエラーが発生します。Reactingコンポーネント内の関数への参照オブジェクト
私はmyData.myData.gender
を試してみるとうまくいきます。何故ですか?
getMessage()
関数に入ってくるmyDataを調べると、それはオブジェクトであり、その中にmyDataオブジェクトが含まれていることがわかります。私はなぜmyDataオブジェクトが別のオブジェクトの内部に置かれているのか混乱しています。
興味深いことに、あなたはここでラインに<div>Hello {myData.firstName}</div>
を見ることができるように、私のコンポーネントの内部で、私は直接のプロパティにアクセスすることができ、私の簡単なコンポーネントを反応させるのだ:
import React, {Component} from 'react';
const MyComponent = ({myData}) => {
return(
<div>Hello {myData.firstName}</div>
<div>
{getMessage(myData)}
</div>
);
};
const getMessage(myData) => {
let output = "";
if(myData.Gender == "m") {
output = "<span>Enjoy the football game tonight!</span>";
}
else {
output = "<span>Enjoy your roses!</span>";
}
return output;
}
ChannelContent.propTypes = {
myData: PropTypes.object.isRequired
};
export default MyComponent;
なぜdownvoteの
myData.gender === 'm'
を試してみてください?あなたのコードで 'myData.Gender ==" m ")'をチェックしようとしていますが、あなたの質問では 'myData.gender'について小文字の' g'を使っていました。 –