Функция signOut
определяется и передается компоненту Header
без сохранения состояния его родителем App
следующим образом;
export default class App extends React.Component {
constructor(props) {
super(props);
this.signOut = this.signOut.bind(this);
}
signOut() {
this.setState({
auth: null,
});
}
render() {
return (
<div>
<Header signOut={this.signOut} />
</div>
);
}
}
Header
Имеет несколько функций, определенных вне его, и я хотел бы в дальнейшем передать signOut
этим функциям, в идеале, как я продемонстрировал ниже, но сейчас это неправильно.
//one of several functions defined to be used inside header
function nav() {
return localStorage.getItem("token") ? (
<p>hii</p>
) : (
<div className="linkWrapper">
<Link className="link" to="/login">
Login
</Link>
<Link className="link" to="/admin">
Admin
</Link>
//signOut used here.
<div className="link" onClick={this.props.signOut}>
Logout
</div>
</div>
);
}
const Header = (props) => (
<div className="headerWrapper">
{nav()}
</div>
);
export default Header;
Как правильно передать sighOut
этим функциям из Header
? Это вообще вещь? Спасибо!