Im Folgenden werden zwei Stile gezeigt, und Sie sollten auswählen, in welchem Verhältnis die Logik der Komponenten zueinander steht.
Style 1 - Relativ bezogenen Komponenten werden können erstellt mit Callback - Referenzen, wie diese, in ./components/App.js
...
<SomeItem
ref={(instance) => {this.childA = instance}}
/>
<SomeOtherItem
ref={(instance) => {this.childB = instance}}
/>
Und dann können Sie verwenden gemeinsam genutzte Funktionen zwischen ihnen so ...
this.childA.investigateComponent(this.childB);
this.childB.makeNotesOnComponent(this.childA);
Stil 2 - Util-Komponenten können wie folgt erstellt werden./utils/time.js
:
export const getTimeDifference = function (start, end) {
}
Und dann können sie so verwendet werden , in ./components/App.js
...
import React from 'react';
import {getTimeDifference} from './utils/time.js';
export default class App extends React.Component {
someFunction() {
console.log(getTimeDifference("19:00:00", "20:00:00"));
}
}
Welche verwenden?
Wenn die Logik relativ verwandt ist (sie werden nur in derselben App zusammen verwendet), sollten Sie Zustände zwischen Komponenten teilen. Wenn Ihre Logik jedoch entfernt verwandt ist (z. B. Math Util, Text Formatierungs Util), sollten Sie Util-Klassenfunktionen erstellen und importieren.