Aşağıda iki stil göstereceğim ve bileşenlerin mantığının birbiriyle ne kadar ilişkili olduğuna bağlı olarak seçim yapmak isteyeceksiniz.
Stil 1 - Göreceli olarak ilgili bileşenler , bunun gibi geri arama referanslarıyla oluşturulabilir./components/App.js
...
<SomeItem
ref={(instance) => {this.childA = instance}}
/>
<SomeOtherItem
ref={(instance) => {this.childB = instance}}
/>
Ve sonra aralarında şu şekilde paylaşılan işlevleri kullanabilirsiniz ...
this.childA.investigateComponent(this.childB);
this.childB.makeNotesOnComponent(this.childA);
Stil 2 - Yardımcı tip bileşenler şu şekilde oluşturulabilir : ./utils/time.js
...
export const getTimeDifference = function (start, end) {
}
Ve sonra da olabilir kullanılan içinde, böyle ./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"));
}
}
Hangisini kullanmalı?
Mantık göreceli olarak ilişkiliyse (yalnızca aynı uygulamada birlikte kullanılırlar), o zaman bileşenler arasında durumları paylaşmalısınız. Ancak mantığınız uzaktan ilişkili ise (yani, matematik kullanım, metin biçimlendirme kullanım), o zaman faydalan sınıf işlevlerini yapmalı ve içe aktarmalısınız.