0
React JS에서 해시 링크를 만들 가능성이 있습니까?id에서 React JS로 연결
A는이 같은 예를 들어 뭔가를 :
<div className="nav">
<Link to="">Home</Link>
<Link to="#services">Services</Link>
<Link to="#contact">Contact</Link>
</div>
그리고 나는 그가 아이디 services
있는 페이지의 섹션으로가는 것을 원하는 서비스에 사용자가 클릭하면.
어떤 조언이 필요합니까?
UPDATE
응용 프로그램 구성 요소 코드 (주요 구성 요소) :
<div>
<Header route={this.props.location.pathname}
language={this.props.language.labels}
authenticated={this.props.authenticated}
signoutAction={this.props.actions}
/>
{React.cloneElement(this.props.children, {
currentLanguage: this.props.language.labels,
authenticated: this.props.authenticated
})}
<Footer currentLanguage={this.props.language.labels}/>
</div>
헤더 구성 요소 :
<ul className="noPadding">
<li style={{paddingTop: 20}}> <a href="">Home </a></li>
<li style={{paddingTop: 20}}> <a href="">Kenmerken </a></li>
<li style={{paddingTop: 20}}> <a href="">Voordelen </a></li>
<li style={{paddingTop: 20}}> <Link to="" onClick={this.handleScroll.bind(this, "whoAreWe")}>Wie zijn wij?</Link></li>
<li style={{paddingTop: 20}}> <a href="#contact">Contact </a></li>
<li style={{paddingTop: 20}}> <MainButton text="Aanmelden"/></li>
</ul>
홈 구성 요소 :
render(){
const languageHome = this.props.currentLanguage.default.homePage;
let loginBox = !this.props.authenticated ? (<div id="cta-1" className="onlyOnDesktop"><Login currentLanguage={languageHome}/></div>) : "";
return (
<div className="homeMain">
<section className="marginOnXs" style={{width: '100%', padding: 0}}>
<MainSlider />
</section>
<section className="why-us" style={{paddingTop: 0, paddingBottom: 0}}>
<Info currentLanguage={languageHome}/>
</section>
<div className="clearfix"></div>
<section className="benefits noPadding">
<Benefits currentLanguage={languageHome} />
<div className="clearfix"></div>
</section>
<section ref="whoAreWe" id="whoAreWe" className="whoAreWe noPadding">
<WhoAreWe currentLanguage={languageHome} />
<div className="clearfix"></div>
</section>
</div>
);
}
모든 섹션은 홈 구성 요소에있는 홈 구성 요소는
{React.cloneElement(this.props.children, {
currentLanguage: this.props.language.labels,
authenticated: this.props.authenticated
})}
핸들 스크롤 기능에 렌더링 :
handleScroll(id, event){
event.preventDefault();
const item = ReactDOM.findDOMNode(this.refs[id]);
window.scrollTo(item.offsetTop);
}
그게 내가 콘솔에 표시되는 내용 :
문제는 탐색 코드와 그 섹션은 같은 파일에없는 것입니다. 그리고 나서'item'은 비어 있습니다. – Boky
문제를 제대로 이해하고 있는지 잘 모릅니다 ... 메뉴에 링크 된 메뉴와 div는 단일 페이지로 렌더링됩니까? – marcint339
내 질문이 업데이트되었습니다. – Boky