टाइप करने के लिए कैसे मैं Relay.createContainer
के साथ बढ़ रहे घटकों को (प्रवाह प्रकार के साथ) टाइप करने का प्रयास कर रहा हूं।निर्यात किए गए रिलेकंटनर
मैंने "प्रतिक्रिया-रिले" पैकेज द्वारा types exported पर देखा लेकिन ReactContainer प्रॉप्स को आगे नहीं लग रहा है।
मैं RelayContainer
, ReactClass
, React$Component
आदि, अंत में प्रयोग अपेक्षित परिणाम मैं मिल सकता है के निकटतम बात है:
// Foo.js
// @flow
import React from "react";
import Relay from "react-relay";
type Props = { title: string; }
const Foo({ title }: Props) => (<div>{title}</div>);
const exported: Class<React$Component<void, Props, void>> = Relay.createContainer(Foo, {
fragments: { ... }
});
export default exported;
-
// Bar.js
// @flow
import React from "react";
import Foo from "./Foo.js";
const Bar =() => <Foo />;
अब प्रवाह शिकायत प्रॉप्स के आसपास Foo.js
में बार बार शीर्षक प्रोप प्रदान नहीं करता है, जो मुझे पसंद है (मैं इसे Bar.js
में शिकायत करना चाहता हूं लेकिन यह एक विवरण है)।
// Bar.js
// @flow
import React from "react";
import Relay from "react-relay";
import Foo from "./Foo.js";
const Bar =() => <Foo />;
export default Relay.createContainer(Bar, {
fragments: {
baz:() => Relay.QL`
fragment on Baz {
${Foo.getFragment("foo")}
}
`
}
}
अंत मैं Relay.createContainer
के उत्पादन में टाइप करने के लिए कोशिश कर रहा हूँ में इतना है कि यह खत्म हो जाता है: लेकिन अगर बार भी एक RelayContainer
फू का टुकड़ा प्रवाह को संदर्भित शिकायत करेगा कि यह फू के गुणों में getFragment
नहीं मिल सकता था सजाए गए घटक का टाइपिंग। मैंने रिले के आंतरिक प्रकारों को देखा और https://github.com/facebook/relay/blob/8567b2732d94d75f0eacdce4cc43c3606960a1d9/src/query/RelayFragmentReference.js#L211
देखा लेकिन मुझे लगता है कि यह रिले के गुणों में जोड़ने का तरीका नहीं है।
कोई विचार मैं इसे कैसे प्राप्त कर सकता हूं?
संबंधित https://github.com/:
पैदा रिले संकलक
चलाकरrelay-compiler --src ./src --schema ./schema.json
फिर आप तो जैसे क्षेत्र रंगमंच की सामग्री के लिए प्रवाह प्रकार आयात होता फ़ाइल कहा फेसबुक/रिले/पुल/1155 – gre
उपरोक्त रूपरेखा आशाजनक प्रतीत होती है। मैं यह देखने जा रहा हूं कि क्या मैं फ्लो को बताने के लिए इसे बढ़ा सकता हूं कि उच्च ऑर्डर घटक एक स्थिर getFragment विधि जोड़ता है। अगर कोई बेहतर विकल्प के साथ आया है, तो सीखना अच्छा लगेगा! – John
ली बायरन ने कल प्रतिक्रिया-यूरोप पर घोषणा की कि रिले 1.0.0 प्रत्येक खंड के लिए __ जनरेटेड __/* फाइलें उत्पन्न करेगा और वे प्रवाह प्रकार निर्यात करेंगे। तो मुझे लगता है कि यह हल करेगा? – gre