Statyka Reacta z klasami ES6
Czy obiekt statyki działa z klasami ES6 w Reaccie?
class SomeComponent extends React.Component {
render() {
// ...
}
}
React.statics = {
someMethod: function() {
//...
}
};
Coś takiego jak wyżej daje mi niezdefiniowaną metodę someMethod
kiedy robię SomeComponent.someMethod()
4 answers
statics
działa tylko z React.createClass
. Po prostu zadeklaruj metodę jako statyczną metodę klasy:
class SomeComponent extends React.Component {
static someMethod() {
//...
}
render() {
// ...
}
}
Odnośnie
React.statics = { ... }
Tworzysz dosłownie statics
właściwość na React
obiekcie. Ta właściwość nie rozszerza magicznie twojego komponentu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-03 14:04:02
Chociaż statics
działa tylko dla React.createClass
, nadal można pisać statyczne metody w notacji ES6. Jeśli używasz ES7, możesz również zapisać właściwości statyczne.
Możesz pisać statyki wewnątrz klas ES6+ w ten sposób:
class Component extends React.Component {
static propTypes = {
...
}
static someMethod(){
}
}
Lub poza klasą w ten sposób:
class Component extends React.Component {
....
}
Component.propTypes = {...}
Component.someMethod = function(){....}
Jeśli chcesz napisać to jak to pierwsze, to musisz ustawić stage: 0
na Babel (od czasu jego eksperymentalnego).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-21 06:33:29
Statyka może być dostępna bez konieczności tworzenia instancji komponentu. zazwyczaj nie są one zbyt przydatne, ale jest kilka szczególnych przypadków. Na przykład do routingu po opuszczeniu bieżącej strony z wykonaniem akcji wykonaj następnie za pomocą metod statycznych możesz przytrzymać / zapytać użytkownika, czy naprawdę chce opuścić stronę. Na przykład:
exampleComponent= React.createClass({
statics:{
willTransitionFrom: function(transition,component){
// check any state here or value Aasked the user.
}
}
});
Eksponuje metody willtransition do i willtransition z cyklu życia. oba są szczególne jest przydatne jako statyczne jak ty może faktycznie anulować przejście przed utworzeniem instancji komponentu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-20 11:55:45
statics
działa tylko dla komponentów Reactowych, check docs .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-03 13:37:31