مساعدة في react-native
السلام عليكم ورحمة الله وبركاته
من فضلكم أحتاج مساعدة في الرياكت نايتيف
عندي هذي الواجهة :
أبغى أضيف لها زر invite بحيث تصير بهذا الشكل :
وأبغى كمان الأسماء تترتب بنفس الطريقة لكن ماقدرت أضيفها بأي شكل
هذا كودي :
import React, { Component } from "react"; import { View, Text, FlatList, ActivityIndicator , Button } from "react-native"; import { List, ListItem, SearchBar } from "react-native-elements"; //import UserAvatar from "user-avatar"; //import ReactDOM from 'react-dom'; //import MaterialInitials from 'react-native-material-initials/native'; export default class FlatListDemo extends Component { constructor(props) { super(props); this.state = { loading: false, data: [], page: 1, seed: 1, error: null, refreshing: false }; } componentDidMount() { this.makeRemoteRequest(); } makeRemoteRequest = () => { const { page, seed } = this.state; const url = `https://randomuser.me/api/?seed=${seed}&page=${page}&results=20`; this.setState({ loading: true }); fetch(url) .then(res => res.json()) .then(res => { this.setState({ data: page === 1 ? res.results : [...this.state.data, ...res.results], error: res.error || null, loading: false, refreshing: false }); }) .catch(error => { this.setState({ error, loading: false }); }); }; handleRefresh = () => { this.setState( { page: 1, seed: this.state.seed + 1, refreshing: true }, () => { this.makeRemoteRequest(); } ); }; handleLoadMore = () => { this.setState( { page: this.state.page + 1 }, () => { this.makeRemoteRequest(); } ); }; renderSeparator = () => { return ( <View style={{ height: 1, width: "86%", backgroundColor: "#CED0CE", marginLeft: "14%" }} /> ); }; renderHeader = () => { return <SearchBar placeholder="Type Here..." lightTheme round searchIcon={{ size: 34 }} containerStyle={{backgroundColor: "#b71540"}} inputStyle={{backgroundColor: 'white'}} />; }; renderFooter = () => { if (!this.state.loading) return null; return ( <View style={{ paddingVertical: 20, borderTopWidth: 1, borderColor: "#CED0CE" }} > <ActivityIndicator animating size="large" /> </View> ); }; render() { return ( <List containerStyle={{ borderTopWidth: 0, borderBottomWidth: 0 }}> <FlatList data={this.state.data} renderItem={({ item }) => ( <ListItem roundAvatar title={`${item.name.first} ${item.name.last}`} subtitle={item.email} containerStyle={{ borderBottomWidth: 0 }} /> ) } keyExtractor={item => item.email} ItemSeparatorComponent={this.renderSeparator} ListHeaderComponent={this.renderHeader} ListFooterComponent={this.renderFooter} onRefresh={this.handleRefresh} refreshing={this.state.refreshing} onEndReached={this.handleLoadMore} onEndReachedThreshold={50} /> </List> ); } }
وشكرًا جزيلًا
ساعد بالإجابة
"إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة."
الإجابات (3)
اصدار react-native-elemnts المستخدم في مشروعك لا يدعم اضافة rightElement الى ListItem تحتاج تحميل نسخة beta الاصدار السابع
yarn add [email protected]
يوجد الكثير من المميزات ومنها اضافة لون متدرج للـButtons
ListItem
<ListItem
roundAvatar
title={`${item.name.first} ${item.name.last}`}
subtitle={item.email}
leftAvatar={{source: {uri: item.picture.large}}}
containerStyle={{borderBottomWidth: 0}}
rightElement={<Button
text="Invite"
ViewComponent={LinearGradient}
linearGradientProps={{
colors: ['#FF9800', '#F44336'],
start: [1, 0],
end: [0.2, 0],
}}
/>
}
/>
النتيجة النهائية :
الملف على github
https://github.com/ahmedoid/3alamPro-react-native
هاجر الروقي: يعطيك العافيةأستاذ أحمد ماقصرت والله لكن ودي لو توضح الاصدارات اللي استعملتها غير رياكت نايتيف ايلمنت لان عندي مشكلة في 'react-native-linear-gradient' بعد استعمال كود حضرتكم وشكرا جزيلا
احمد الجعيد: الاصدارات موجودة في ملف package.gson . تحتاج https://github.com/react-native-community/react-native-linear-gradient الى ربط مع النيتف كود الخطوات مشروحه في صفحة المكتبة ،
هاجر الروقي: بحاول وان شاء الله تزبط معاي .. شكرا جزيلا استاذ احمد
لما حملت الفايل المرفق من قيت هب وسويت له رن كذا يطلع لي رغم ان فايل app.json موجود
احمد الجعيد: npm install
هاجر الروقي: لايش بالضبط ؟
هاجر الروقي: اذا قصدك احمل npm الريدي محمل وانا استعمله اساسا ما استعمل yarn
احمد الجعيد: npm install او yarn ،، لان الباكجات غير محمله
هاجر الروقي: غريب أنا حملتها , فيه غير رياكت نيتيف ايلمنت وحق الالوان ؟
احمد الجعيد: لا
هاجر الروقي: الفايلات yarn lock و json-lockتأثر ؟؟؟؟؟؟؟؟؟
احمد الجعيد: نفس المشروع حمليه وشغليه وانقلي بطريقتك بعدين
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !