Javascript “尺寸误差”;“未定义状态”;在流星+;反应
这是错误的功能,我试图淡出导航栏在滚动的时候,但它抛出了一个错误,我在下面的功能Javascript “尺寸误差”;“未定义状态”;在流星+;反应,javascript,reactjs,scroll,Javascript,Reactjs,Scroll,这是错误的功能,我试图淡出导航栏在滚动的时候,但它抛出了一个错误,我在下面的功能 const opacity = Math.min(100/state.alturaActualScroll, 1); 我有我的导航栏组件,但告诉我状态尚未定义,但我不知道,因为错误,这是我的代码 import React from 'react'; import {Link} from 'react-router' import { Accounts } from 'meteor/accounts-base';
const opacity = Math.min(100/state.alturaActualScroll, 1);
我有我的导航栏组件,但告诉我状态尚未定义,但我不知道,因为错误,这是我的代码
import React from 'react';
import {Link} from 'react-router'
import { Accounts } from 'meteor/accounts-base';
import {Meteor} from 'meteor/meteor';
export default class NavbarLanding extends
React.Component {
componentDidMount() {
window.onscroll =()=> {
this.setState({
alturaActualScroll: window.scrollY})
}
}
componentDidMount () {
window.onscroll =()=>{
nuevaAlturaScroll = Math.ceil(window.scrollY / 50) *50;
if(this.state.alturaActualScroll != nuevaAlturaScroll){
this.setState({alturaActualScroll:nuevaAlturaScroll})
}
}
}
// update
render() {
// console.log('donde estoy');
const opacity = Math.min(100/state.alturaActualScroll, 1);
return(
<div style={opacity}id="navbar"className="navbar-landing">
<nav>
<div>
<ul className="ul-landing">
{/* <img src="./public/images/flat-rocket.jpg"></img> */}
<li id="navbar-landing-title" className="navbar-title"><a>Landing </a></li>
<div id="menu-landing"className="navbar-menu">
<li><a>acerca</a></li>
<li><a>portafolio</a></li>
<li><a>contacto</a></li>
<button className="btn"onClick={() => Accounts.logout()}>Logout</button>
</div>
</ul>
</div>
</nav>
</div>
);
};
}
NavbarLanding.reactProptype = {
title: React.PropTypes.string.isRequired
};
从“React”导入React;
从“反应路由器”导入{Link}
从“meteor/Accounts base”导入{Accounts};
从“流星/流星”导入{Meteor};
导出默认类NavbarLanding扩展
反应组件{
componentDidMount(){
window.onscroll=()=>{
这是我的国家({
AlturalActualScroll:window.scrollY})
}
}
组件安装(){
window.onscroll=()=>{
numevaalturascroll=Math.ceil(window.scrollY/50)*50;
if(this.state.alturaActualScroll!=numevaalturascroll){
this.setState({AlturalActualScroll:nuevaAlturaScroll})
}
}
}
//更新
render(){
//console.log('donde estoy');
常数不透明度=数学最小值(100/state.AlturalActualScroll,1);
返回(
{/* */}
登陆
- 槭树
- 手册
- 联系人
Accounts.logout()}>logout
);
};
}
NavbarLanding.reactProptype={
标题:React.PropTypes.string.isRequired
};
您的代码应该是
const opacity = Math.min(100/this.state.alturaActualScroll, 1);
在访问组件的状态时,您忘记添加this
关键字,这导致解释器查找名为state的局部变量,而不是类级状态变量
根据Felix Kling和zerkms的评论进行编辑和更正那么
状态
变量定义在哪里?另一件事:您已经定义了两次componentDidMount
。