这三个currentDot.translatesAutoresizingMaskIntoConstraints = false
currentDot.centerYAnchor.constraint(equalTo: self.centerYAnchor, constant: 0)
currentDot.centerXAnchor.constraint(equalTo: self.centerXAnchor, constant: 0)
从这里:
console.log()
全部返回 18 而不是 45.13 (或其中至少一个),它是在开发人员控制台中查看时导航栏的渲染高度)
如果import React from 'react';
export default class FixedTopNavigation extends React.Component {
constructor(props) {
super(props);
this.topNav = React.createRef();
}
componentDidMount() {
console.log(this.topNav.current.offsetHeight);
console.log(this.topNav.current.clientHeight);
console.log(this.topNav.current.scrollHeight);
}
render() {
return (
<nav ref={this.topNav} id="topNav" className="fixed-top navbar navbar-expand-md navbar-light bg-light">
<button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#sideNav" aria-controls="navbarTogglerDemo03" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span>
</button>
<a className="navbar-brand" href="/">Biometrics</a>
</nav>
)
}
}
未返回正确的值,那么正确获得正确的值的方式是什么?
大多数答案/教程或多或少都使用相同的方式(除了创建引用的方式除外),这就是为什么我不明白为什么这段代码不起作用的原因。
答案 0 :(得分:0)
有两种方法可以实现这一目标。
使用setTimeout()黑客
An error occurred (ValidationError) when calling the CreateStack operation: Template format error: Unrecognized resource types: [AWS::Athena::NamedQuery]
使用findDOMNode()
componentDidMount() {
setTimeout(() => {
console.log(this.topNav.current.clientHeight);
}, 1);
}