Javascript React-分析错误:意外标记,应为“React”&引用;
当屏幕宽度小于或等于900时,我试图调用Javascript React-分析错误:意外标记,应为“React”&引用;,javascript,reactjs,redux,methods,unexpected-token,Javascript,Reactjs,Redux,Methods,Unexpected Token,当屏幕宽度小于或等于900时,我试图调用resize()中的一个方法,但我得到错误解析错误:意外标记,预期“;”如何解决此问题? import React,{Fragment}来自'React'; 从“/css/lesson.module.css”导入较少的内容; 导入“/css/activeLink.css”; 导入“/css/betaleson.css”; 从“@fortawesome/react fontawesome”导入{FontAwesomeIcon}”; 从“../../../N
resize()
中的一个方法,但我得到错误解析错误:意外标记,预期“;”如何解决此问题?
import React,{Fragment}来自'React';
从“/css/lesson.module.css”导入较少的内容;
导入“/css/activeLink.css”;
导入“/css/betaleson.css”;
从“@fortawesome/react fontawesome”导入{FontAwesomeIcon}”;
从“../../../Navbar/Navbar”导入{Navbar}”;
从“react html parser”导入ReactHtmlParser;
从“反应引导图标”导入*作为图标;
从“样式化组件”导入样式化;
从“反应汉堡菜单”导入{幻灯片作为菜单}
从“../../../Navbar/Mobile_Navbar/NavbarMobile”导入{NavbarMobile};
const NextPage=styled.button`
显示器:flex;
对齐项目:居中;
字体系列:“Roboto”;
字号:500;
字母间距:0.2px;
颜色:#ff7b77d9;
填充:9px 22px;
大纲:无;
光标:指针;
文本对齐:居中;
文字装饰:无;
字体大小:13px;
边框:1px实心#ff7b77d9;
边界半径:2px;
`;
导出类课程扩展React.Component{
建造师(道具){
超级(道具);
此.state={
指标说明:1,
listActiveIndex:1,
sidebarMobile:没错,
menuMobileIsOpen:false,
}
}
componentDidMount(){
addEventListener(“resize”,this.resize.bind(this));
这是resize();
}
调整大小(){
如果(window.innerWidth>900){
this.setState({sidebarMobile:true})
this.setState({menuMobileIsOpen:false})
}否则{
this.setState({sidebarMobile:false})
}
}
希德梅努(){
this.setState({sidebarMobile:false})
}
组件将卸载(){
removeEventListener(“resize”,this.resize.bind(this));
}
变更说明(索引){
this.setState({indexDescription:index,listActiveIndex:index})
}
下一页(){
//下一页
this.setState({indexDescription:this.state.indexDescription+1,listActiveIndex:this.state.indexDescription+1})
}
前页(){
//下一页
this.setState({indexDescription:this.state.indexDescription-1,listActiveIndex:this.state.indexDescription-1})
}
showsidebarMobile=()=>{
this.setState({sidebarMobile:!this.state.sidebarMobile})
}
menuMobileIsOpen=()=>{
this.setState({menuMobileIsOpen:!this.state.menuMobileIsOpen})
}
HideMenuMobileIsOpen=()=>{
this.setState({menuMobileIsOpen:false})
}
showSettings(活动){
event.preventDefault();
}
render(){
const listLessons=this.props.lesson.map((项目,索引)=>{
//主动链接
const className=this.state.listActiveIndex==索引?'list\u active':null;
返回(
{item.title&&(
{item.title}
)}
{item.titleName&&(
{item.titleName}
)}
);
});
返回(
{
this.state.menuMobileIsOpen?:null
}
{listLessons}
{this.props.lesson[this.state.indexDescription][“heading”]}
{
ReactHtmlParser(this.props.lesson[this.state.indexDescription][“data”][“description”])
}
{
this.state.indexDescription>=2?
返回
:
无效的
}
import React, { Fragment } from 'react';
import less from "./css/lesson.module.css";
import "./css/activeLink.css";
import "./css/betaLesson.css";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { Navbar } from "../../../Navbar/Navbar";
import ReactHtmlParser from 'react-html-parser';
import * as Icon from 'react-bootstrap-icons';
import styled from "styled-components";
import { slide as Menu } from 'react-burger-menu'
import { NavbarMobile } from '../../../Navbar/Mobile_Navbar/NavbarMobile';
const NextPage = styled.button`
display: flex;
align-items: center;
font-family: 'Roboto';
font-weight: 500;
letter-spacing: 0.2px;
color: #ff7b77d9;
padding: 9px 22px;
outline: none;
cursor: pointer;
text-align: center;
text-decoration: none;
font-size: 13px;
border: 1px solid #ff7b77d9;
border-radius: 2px;
`;
export class Lessons extends React.Component {
constructor(props) {
super(props);
this.state = {
indexDescription: 1,
listActiveIndex: 1,
sidebarMobile: true,
menuMobileIsOpen: false,
}
}
componentDidMount() {
window.addEventListener("resize", this.resize.bind(this));
this.resize();
}
resize() {
if (window.innerWidth > 900) {
this.setState({ sidebarMobile: true })
this.setState({ menuMobileIsOpen: false })
} else {
this.setState({ sidebarMobile: false })
}
}
hideMenu() {
this.setState({ sidebarMobile: false })
}
componentWillUnmount() {
window.removeEventListener("resize", this.resize.bind(this));
}
changeDescription(index) {
this.setState({ indexDescription: index, listActiveIndex: index })
}
nextPage() {
// next page
this.setState({ indexDescription: this.state.indexDescription + 1, listActiveIndex: this.state.indexDescription + 1 })
}
prevPage() {
// next page
this.setState({ indexDescription: this.state.indexDescription - 1, listActiveIndex: this.state.indexDescription - 1 })
}
showsidebarMobile = () => {
this.setState({ sidebarMobile: !this.state.sidebarMobile })
}
menuMobileIsOpen = () => {
this.setState({ menuMobileIsOpen: !this.state.menuMobileIsOpen })
}
HideMenuMobileIsOpen = () => {
this.setState({menuMobileIsOpen: false})
}
showSettings(event) {
event.preventDefault();
}
render() {
const listLessons = this.props.lesson.map((item, index) => {
// active link
const className = this.state.listActiveIndex === index ? 'list_active' : null;
return (
<Fragment key={index}>
{item.title && (
<li className={less.courseTitle}>
<div>
<p>{item.title}</p>
</div>
</li>
)}
{item.titleName && (
<li className={className} onClick={this.changeDescription.bind(this, index)}>
<div className={less.sidebar_list}>
<div style={{ display: "flex" }}>
<FontAwesomeIcon className={less.item_icon} icon={item.iconName} />
</div>
<div className={less.titleName}>
<div>
<p>{item.titleName}</p>
</div>
</div>
</div>
</li>
)}
</Fragment>
);
});
return (
<>
<div className="abc">
<div>
<Navbar color="blue" bg="tomato" centerFlexNavbarContainer="flex" LiItem="NavBarli" MainStream="MainStream"
navbarSearchPage="Search" navbarHomePage="Home" NavbarMobileIconsBlock="mobile"
centerHeadlineNavbarColumn="center" showsidebarMobile={this.showsidebarMobile} menuMobileIsOpen={this.menuMobileIsOpen} />
<div>
{
this.state.menuMobileIsOpen ? <NavbarMobile /> : null
}
</div>
</div>
<div className={less.wrapper}>
<Menu isOpen={this.state.sidebarMobile} >
<main id="page-wrap">
<div className={less.sidebar}>
<div>
<ul onClick={this.hideMenu.bind(this)}>
{listLessons}
</ul>
</div>
</div>
</main>
</Menu>
<div>
<div className={less.main_content}>
<div className={less.main_inside_content}>
<div className={less.header}>
<div className={less.header_next_page}>
<div>
<h2>{this.props.lesson[this.state.indexDescription]["heading"]}</h2>
</div>
</div>
</div>
<div className={less.info} onClick={this.HideMenuMobileIsOpen.bind(this)}>
<div className={less.description}>
{
ReactHtmlParser(this.props.lesson[this.state.indexDescription]["data"]["description"])
}
<div className={less.btn_Next_Prev_Container}>
<div>
{
this.state.indexDescription >= 2 ?
<NextPage onClick={this.prevPage.bind(this)} > <Icon.ArrowLeft className={less.arrowLeft} /> Back </NextPage>
:
null
}
</div>
<div>
<NextPage onClick={this.nextPage.bind(this)} > Next <Icon.ArrowRight className={less.arrowRight} /> </NextPage>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</>
);
}
}
if (window.innerWidth < 900) {
hideMenu() {
this.setState({ sidebarMobile: false })
}
}
if (window.innerWidth < 900) {
this.setState({ sidebarMobile: false })
}
hideMenu() {
this.setState({ sidebarMobile: false })
}
resize() {
if (window.innerWidth > 900) {
this.setState({ sidebarMobile: true })
this.setState({ menuMobileIsOpen: false })
} else {
this.setState({ sidebarMobile: false })
}
if (window.innerWidth < 900) {
this.hideMenu()
}
}
resize() {
const hideMenu = () => this.setState({ sidebarMobile: false })
if (window.innerWidth > 900) {
this.setState({ sidebarMobile: true })
this.setState({ menuMobileIsOpen: false })
} else {
this.setState({ sidebarMobile: false })
}
if (window.innerWidth < 900) {
hideMenu()
}
}