में गणना/अवलोकनों का उपयोग कब करें मुझे लगता है कि मुझे अधिकांश मोबक्स मिल रहा है, लेकिन मैं कुछ स्पष्टीकरण देना चाहता हूं। मैं कुछ observables के साथ एक दुकान मिल गया है, मुख्य जिनमें से (टाइपप्रति) वस्तुओं की एक सरणी है:mobx
class ClientStore {
constructor() {
this.loadClients();
}
@observable private _clients: IClient[] = [];
@computed get clients() {
return this._clients;
}
@observable isFetching: boolean = false;
@observable sortField: 'title' | 'modified' = 'modified';
@observable sortDescending: boolean = true;
getClientByUrlName(urlName: string): IClient {
return this._clients.find(c => c.urlName === urlName);
}
etc...
मेरा प्रश्न है पिछले समारोह है कि - getClientByUrlName। चूंकि यह एक अवलोकन करने योग्य है, किसी भी @observer प्रतिक्रिया घटक जो उस फ़ंक्शन का उपयोग कर सही ढंग से पुन: प्रस्तुत करता है। क्या इस तरह के कुछ के लिए यह मूर्खतापूर्ण mobx है? ऐसा लगता है कि यह एक गणना मूल्य होना चाहिए। क्या मुझे उस घटक में एक गणना मूल्य होना चाहिए जो इसका उपयोग करना चाहता है?
//import singletone ClientStore
class ClientDetailsView extends React.Component<{params:{urlName:string}}, void> {
@computed get client() {
return ClientSotre.clients.find(c => c.urlName === this.props.params.urlName);
}
...rest of react component
मैं यहां सर्वोत्तम प्रथाओं और मिलचास की तलाश में हूं। किसी भी मदद की सराहना की है।
* संपादित तय कोड नमूना त्रुटि
आह हा! ऐसा लगता है कि मैं एक टुकड़ा लापता था। हर बार जब मैं दस्तावेज़ों पर जाता हूं तो मुझे एक हिस्सा दिखाई देता है जैसे कि यह बिल्कुल नया था। मजेदार है कि घटक में गणना की गई संपत्ति को चिपकाकर मेरे पास आया क्योंकि मैं सवाल लिख रहा था। [विषय से बाहर] मैं वास्तव में रास्ते में मोबक्स की तरह हूं (मैं रेडक्स से बदल रहा हूं)। जितना अधिक मैं सीखता हूं कि यह मुझे कितना पसंद करता है। सारी कड़ी मेहनत के लिए शुक्रिया! – Jakke
मैंने वास्तव में दस्तावेज़ों को आखिरी दिनों में पुन: व्यवस्थित किया था, ताकि इंप्रेशन सही हो :) – mweststrate
मैं थोड़ा उलझन में हूं कि स्टोर में बजाय क्लाइंटडिस्ट व्यू में '@ गणना' क्यों रखना बेहतर होगा। इसे स्टोर में डालने से वही प्रभाव पड़ता है? – Jeff