是javascript新手。我正在尝试进行四元运算,如果url的末尾是数字,则显示一个按钮。
{console.log(this.urlPersonId)}
{!isNaN(parseInt(this.urlPersonId)) === true ?
<Button size="sm" variant="outline-success"
onClick={this.addPersonToHouse.bind(this.urlPersonId, house.HouseId)}>Add</Button>
:
<Link>no stuff</Link>
}
并且在构造函数中我有
this.state = {
urlPersonId: window.location.href.substr(window.location.href.lastIndexOf('/') + 1),
houses: [],
currentPage: 1,
housesPerPage: 5
};
但是当我的网址以数字结尾时,它仍然显示带有“无内容”的链接。我的问题是,如何调试程序,以便查看urlPersonId
中的内容?
[好吧,基本上我将this.personId
放在了应该为this.state.personId
的位置。
您知道的更多:p
如果使用钩子,则可以使用
let { personId } = useParams();
如果您正在使用类组件,则可以这样做
constructor(props) {
super(props);
const { match: {
params: { personId }
}
} = props;
this.state = {
personId = personId
}
}
然后您可以在组件中需要的任何地方使用this.state.personId。