Я немного запутался в идее использования реквизита в контексте, который я использую для своего приложения React. В моем компоненте мне нужно проверить, соответствует ли значение определенного пропеллера (props.companyCode
) определенной строке, и только тогда он выведет <p>
того, что мне нужно. Ниже приводится то, что я имею для вызова опоры в компоненте:
Components/CompanyContact.jsx
class CompanyContact extends React.Component {
help() {
if (this.props.companyInfoList.companyCode === '1234') {
return <p>something</p>;
}
return <p>somethingelse</p>;
}
render() {
const help = this.help();
return (
<div>
{help};
</div>
)}}
export default CompanyContact;
И это то, что у меня есть для контейнера:
Container/InfoContainer.jsx
class InfoContainer extends React.Component {
constructor(props) {
super(props);
this.state = {
companyInfoList: null,
};
}
async componentWillMount() {
const companyInfoCachedData = CachingService.getData('companyInfoList');
if (companyInfoCachedData) {
this.setState({ companyInfoList: companyInfoCachedData });
return;
}
}
async getCompanyInfo(accessToken) {
try {
const companyProfileResponse = await requestAWSGet('api/company-profile', undefined, accessToken);
CachingService.setData('companyInfoList', companyProfileResponse);
this.setState({ companyInfoList: companyProfileResponse });
} catch (err) {
throw err;
}
}
render() {
return (
<CompanyContact companyInfoList={this.state.companyInfoList} />
);
}
}
export default InfoContainer;
Ничего не возвращается, когда я запускаю приложение, и я полагаю, что это потому, что я неправильно вызываю опору в своем компоненте, но я не уверен относительно того, как go исправить его. Я довольно новичок в работе с реквизитом, поэтому все еще пытаюсь разобраться в этом.