প্রতিক্রিয়া-নেটিভ নেভিগেটর উপাদান সহ কাস্টম নেভিগেশন


158

উপাদানটির সাহায্যে দর্শনগুলির মধ্যে কাস্টম নেভিগেশন সহ একটি ডেমো অ্যাপ্লিকেশন বিকাশের সময় আমি প্রতিক্রিয়াশীল নেটিভের সম্ভাবনাগুলি অন্বেষণ করছি ।Navigator

প্রধান অ্যাপ্লিকেশন শ্রেণি নেভিগেটরকে রেন্ডার করে এবং অভ্যন্তরীণ renderSceneরিটার্নগুলিকে উপাদানটি পাস করে:

class App extends React.Component {
    render() {
        return (
            <Navigator
                initialRoute={{name: 'WelcomeView', component: WelcomeView}}
                configureScene={() => {
                    return Navigator.SceneConfigs.FloatFromRight;
                }}
                renderScene={(route, navigator) => {
                    // count the number of func calls
                    console.log(route, navigator); 

                    if (route.component) {
                        return React.createElement(route.component, { navigator });
                    }
                }}
             />
        );
    }
}

আপাতত অ্যাপটিতে দুটি মতামত রয়েছে:

class FeedView extends React.Component {
    render() {
        return (
            <View style={styles.container}>
                <Text>
                    Feed View!
                </Text>
            </View>
        );
    }
}

class WelcomeView extends React.Component {
    onPressFeed() {
        this.props.navigator.push({
            name: 'FeedView',
            component: FeedView
        });
    }

    render() {
        return (
            <View style={styles.container}>
                <Text style={styles.welcome}>
                    Welcome View!
                </Text>

                <Text onPress={this.onPressFeed.bind(this)}>
                    Go to feed!
                </Text>
            </View>
        );
    }
}

আমি যা জানতে চাই তা হ'ল:

  • আমি লগগুলিতে দেখতে পাই যে "ফিডে যান" renderSceneটিপানোর সময় বেশ কয়েকবার বলা হয় যদিও ভিউ একবারে সঠিকভাবে রেন্ডার হয়। এটি কীভাবে কাজ করে অ্যানিমেশনটি?

    index.ios.js:57 Object {name: 'WelcomeView', component: function}
    index.ios.js:57 Object {name: 'FeedView', component: function}
    // renders Feed View
    
  • সাধারণত আমার পদ্ধতির প্রতিক্রিয়ার উপায়ের সাথে সামঞ্জস্য হয় বা এটি আরও ভাল করা যায়?

আমি যা অর্জন করতে চাই NavigatorIOSতা নেভিগেশন বার ব্যতীত কিছু (তবে কিছু দর্শনগুলির নিজস্ব কাস্টম নেভিগেশন বার থাকবে)।


1
@ নিরবিচ্ছিন্নভাবে এই উদাহরণটি ডক্সে নেভিগেটর পৃষ্ঠায় অন্তর্ভুক্ত করা উচিত । এটি আরও সম্পূর্ণ এবং নেভিগেটর উপাদানটিকে প্রসঙ্গে কীভাবে ব্যবহার করতে হয় তার আরও ভাল চিত্র দেয়।
Greatwitenorth

আপনার উদাহরণটি চেষ্টা করে দেখুন, কোনও নেভিগেটর ধাক্কা দেওয়ার পরে দৃশ্যটি কী স্বয়ংক্রিয়ভাবে পরিবর্তিত হওয়া উচিত? আমার জন্য আপনার উদাহরণ কখনই ফিড ভিউ প্রদর্শন করে না! পাঠ্য, তাই আমি ভাবছি সাম্প্রতিক সংস্করণগুলির সাথে কিছু পরিবর্তন হয়েছে।
ইয়ান

উত্তর:


74

আপনার পদ্ধতির দুর্দান্ত কাজ করা উচিত। এফবি-তে বড় অ্যাপগুলিতে আমরা require()দৃশ্যের উপাদানটিকে রেন্ডার না করা পর্যন্ত ফোন করা এড়াতে পারি, যা কিছুটা শুরু করার সময় বাঁচাতে পারে।

renderSceneযখন দৃশ্য প্রথম ন্যাভিগেটর ধাক্কা ফাংশন বলা হবে। নেভিগেটর পুনরায় রেন্ডার হয়ে গেলে এটি সক্রিয় দৃশ্যের জন্যও ডাকা হবে। আপনি যদি renderSceneএকের পরে একাধিকবার কল দেখতে পান pushতবে সম্ভবত এটি একটি বাগ।

নেভিগেটরটি এখনও কাজ চলছে, তবে আপনি যদি এতে কোনও সমস্যা পান তবে দয়া করে গিথুবে ফাইল করুন এবং আমাকে ট্যাগ করুন! (@Ericvicenti)


1
-: @Eric হ্যালো দয়া করে এই লিঙ্কে কটাক্ষপাত আছে stackoverflow.com/questions/44538306/...
সিড

2

NavigatorRN 0.44.0আপনি এখন ব্যবহার করছেন react-native-deprecated-custom-componentsআপনার বিদ্যমান অ্যাপ্লিকেশনটি সমর্থন করার পরিবর্তে এটি ব্যবহার করতে পারেন এতে অবনমিত হয় Navigator


1

অন্যরা যেমন পূর্বে উল্লেখ করেছে, নেভিগেটর v0.44 সাল থেকে অবচিত করা হয়েছে, তবে পুরানো অ্যাপ্লিকেশনগুলিকে সমর্থন করার জন্য এখনও আমদানি করা যেতে পারে:

ন্যাভিগেটর 0.44 সংস্করণে মূল প্রতিক্রিয়া নেটিভ প্যাকেজ থেকে সরানো হয়েছে। মডিউলটিকে একটি প্রতিক্রিয়া-নেটিভ-কাস্টম-উপাদান প্যাকেজে স্থানান্তরিত করা হয়েছে যা পিছনে সামঞ্জস্য বজায় রাখতে আপনার অ্যাপ্লিকেশন দ্বারা আমদানি করা যেতে পারে।

নেভিগেটরের জন্য মূল ডক্সটি দেখতে, দয়া করে দস্তাবেজের একটি পুরানো সংস্করণে স্যুইচ করুন।

ডক্স অনুসারে (নেটিভ v0.54 প্রতিক্রিয়া) স্ক্রিনের মধ্যে নেভিগেট করা । আপনি যদি এখনই শুরু করছেন বা অ-অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলির জন্য নেভিগেটরআইওএস ব্যবহার করুন তবে এখন প্রতিক্রিয়া নেভিগেশন ব্যবহার করার পরামর্শ দেওয়া হচ্ছে

আপনি যদি এখনই নেভিগেশন দিয়ে শুরু করছেন, আপনি সম্ভবত প্রতিক্রিয়া নেভিগেশন ব্যবহার করতে চাইবেন । প্রতিক্রিয়া ন্যাভিগেশন আইওএস এবং অ্যান্ড্রয়েড উভয় ক্ষেত্রে সাধারণ স্ট্যাক নেভিগেশন এবং ট্যাবড নেভিগেশন নিদর্শন উপস্থাপনের ক্ষমতা সহ নেভিগেশন সমাধানের সহজ ব্যবহার করে।

...

আপনি যদি কেবলমাত্র আইওএসকে লক্ষ্য করে থাকেন তবে আপনি নেভিগেটরআইওএসকে একটি নেটিভ লুক সরবরাহ করার উপায় এবং ন্যূনতম কনফিগারেশন সহ বোধ করতে পারেন, কারণ এটি স্থানীয় ইউআইএনএভিগেশন কন্ট্রোলার শ্রেণীর চারপাশে মোড়ক সরবরাহ করে।

এনবি : এই উত্তর দেওয়ার সময়, প্রতিক্রিয়া নেটিভটি ছিল 0.54 সংস্করণে


0

নেভিগেটর উপাদানটি এখন অবচয় করা হয়েছে। আপনি অ্যাকোনভ দ্বারা রিয়েটিক নেটিভ-রাউটার-ফ্লাক্স ব্যবহার করতে পারেন, এটির একটি বিশাল বৈচিত্র্য রয়েছে এবং বিভিন্ন অ্যানিমেশন সমর্থন করে এবং দক্ষ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.