Глобальная переменная для реагировать
Привет, ребята, я еще новичок, чтобы реагировать, и я не знаю, как использовать глобальную переменную. Я хочу сделать " это.реквизит.тема.текст " глобальная переменная, чтобы использовать ее в другом приложении моего проекта. как я могу это сделать ?
export default class Topic extends Component {
deleteThisTopic() {
Topics.remove(this.props.topic._id);
}
test() {
}
render() {
return (
<Router>
<div>
<ul>
<Link to="/sub"><li onClick={this.test.bind(this)}>{this.props.topic.text} ARN: {this.props.topic.arn}</li></Link>
<Link to="/log"><button onClick={this.test.bind(this)}>S'inscrire</button></Link>
<Link to="/"><button >Cacher</button></Link>
<button onClick={this.deleteThisTopic.bind(this)}>Suprimer</button>
</ul>
<hr/>
<Route exact path="/log" component={AppInscription}/>
<Route exact path="/sub" component={AppSub}/>
</div>
</Router>
);
}
}
Topic.propTypes = {
topic: PropTypes.object.isRequired,
};
2 ответа:
Это ужасная идея, но, вероятно, лучший/самый простой способ использовать глобальную переменную в React-это поместить ее на
В идеале, если у вас есть данные, и в вашем случае вероятное состояние, которое вам нужно сохранить от компонента к компоненту, вы должны искать что-то вроде Redux или Flux. Я предпочитаю "возвращение".window
. В компоненте вы можете сделать что-то вродеwindow.topicText="some text"
, а затем получить доступ к нему черезwindow.topicText
везде.
Вы можете попробовать это: Объявите свою глобальную переменную перед приложением основного компонента.js и передать эту переменную в качестве реквизита вниз по дереву.
Родитель.js
var myVar = {} class MyComponent extends Component { ... ... myVar = new Object(); ... ... render() { return <div> \\ children <MyLeftBranch myVar={myVar} /> <MyRightBranch myVar={myVar} /> </div> } } export default MyComponent;
Ребенок.js
class Child extends Component { { myVar } = this.props; \\use myVar }