דלג לתוכן הראשי
עקוב אחר ה-quickstart הזה כדי להוסיף את Base44 לפרויקט React Native (Expo) שלך. תיצור בקאנד Base44, תגדיר entities, ותשלב את ה-SDK באפליקציית המובייל שלך.
ה-CLI דורש Node.js 20.19.0 ומעלה.

הגדרה

1

התקן את Base44 CLI

התקן את Base44 CLI גלובלית:
npm install -g base44@latest
2

צור בקאנד Base44

נווט לתיקיית פרויקט React Native שלך, ולאחר מכן הרץ:
base44 create
אם אתה לא מחובר כבר, הפקודה תבקש ממך לבצע אימות.בחר Create a basic project כשתתבקש. פעולה זו יוצרת את קבצי הבקאנד בתוך תיקיית פרויקט React Native שלך. לאחר מכן עקוב אחר ההוראות להגדיר את הפרויקט שלך.כאשר אתה יוצר פרויקט, Base44 skills נכללים אוטומטית, ומספקים לסוכן ה-AI שלך הוראות והקשר עבור משימות Base44.
3

הגדר entities

צור entity schemas כדי להגדיר את מבני הנתונים שלך. קבצי entity חייבים להיות ממוקמים בתיקיית base44/entities/.לדוגמה, צור את base44/entities/task.jsonc:
{
  "name": "Task",
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "completed": {
      "type": "boolean",
      "default": false
    }
  },
  "required": ["title"]
}
4

דחוף entities ל-Base44

דחוף את ה-entity schemas שלך ל-Base44:
base44 entities push
פקודה זו מסנכרנת את הגדרות ה-entity המקומיות שלך עם הבקאנד Base44 שלך, ומאפשרת אותן לשימוש באפליקציה שלך. ראה entities push למידע נוסף.
5

התקן את Base44 SDK

התקן את Base44 JavaScript SDK:
npm install @base44/sdk
6

צור לקוח Base44

צור client של Base44 SDK בפרויקט שלך. ה-appId ניתן למצוא בקובץ base44/.app.jsonc שלך.לדוגמה, צור את api/base44Client.js:
import { createClient } from '@base44/sdk';

export const base44 = createClient({
  appId: 'your-app-id-from-app.jsonc'
});
7

צור מסך רשימת tasks

צור קומפוננטת מסך פשוטה לרישום והוספת tasks. לדוגמה, צור את screens/TaskListScreen.js:
import { useState, useEffect } from 'react';
import { View, Text, FlatList, Button, TextInput, StyleSheet, ActivityIndicator } from 'react-native';
import { base44 } from '../api/base44Client';

export default function TaskListScreen() {
  const [tasks, setTasks] = useState([]);
  const [newTitle, setNewTitle] = useState('');
  const [isLoading, setIsLoading] = useState(false);

  useEffect(() => {
    loadTasks();
  }, []);

  const loadTasks = async () => {
    setIsLoading(true);
    try {
      // Get records
      const taskList = await base44.entities.Task.list();
      setTasks(taskList);
    } catch (error) {
      console.error('Error loading tasks:', error);
    }
    setIsLoading(false);
  };

  const addTask = async () => {
    if (!newTitle.trim()) return;

    setIsLoading(true);
    try {
      // Create a record
      const newTask = await base44.entities.Task.create({
        title: newTitle,
        completed: false
      });
      setTasks([...tasks, newTask]);
      setNewTitle('');
    } catch (error) {
      console.error('Error creating task:', error);
    }
    setIsLoading(false);
  };

  return (
    <View style={styles.container}>
      <Text style={styles.title}>Tasks</Text>

  <FlatList
    data={tasks}
    keyExtractor={(item) => item.id}
    renderItem={({ item }) => <Text style={styles.task}>{item.title}</Text>}
    ListEmptyComponent={
      isLoading ? <ActivityIndicator /> : <Text style={styles.empty}>No tasks yet</Text>
    }
  />

      <View style={styles.inputRow}>
        <TextInput
          style={styles.input}
          value={newTitle}
          onChangeText={setNewTitle}
          placeholder="New task"
          editable={!isLoading}
        />
        <Button title="Add" onPress={addTask} disabled={isLoading || !newTitle.trim()} />
      </View>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    padding: 20,
  },
  title: {
    fontSize: 24,
    fontWeight: 'bold',
    marginBottom: 20,
  },
  task: {
    fontSize: 16,
    padding: 12,
    borderBottomWidth: 1,
    borderBottomColor: '#eee',
  },
  empty: {
    textAlign: 'center',
    color: '#999',
    marginTop: 20,
  },
  inputRow: {
    flexDirection: 'row',
    gap: 10,
    marginTop: 20,
  },
  input: {
    flex: 1,
    borderWidth: 1,
    borderColor: '#ccc',
    padding: 10,
    borderRadius: 5,
  },
});
השתמש בשם ה-entity המדויק מה-schema שלך בעת קריאה ל-SDK, כולל אותיות גדולות. לפי המוסכמה, שמות entities מתחילים באות גדולה. לדוגמה, אם ל-schema שלך יש "name": "Task", אתה ניגש אליו כ-base44.entities.Task.list().
8

השתמש במסך באפליקציה שלך

עדכן את App.js שלך כדי לייבא ולעבד את הקומפוננטה TaskListScreen:
import { StatusBar } from 'expo-status-bar';
import { StyleSheet, SafeAreaView } from 'react-native';
import TaskListScreen from './screens/TaskListScreen';

export default function App() {
  return (
    <SafeAreaView style={styles.container}>
      <TaskListScreen />
      <StatusBar style="auto" />
    </SafeAreaView>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
  },
});
9

הרץ את האפליקציה שלך מקומית

התחל את שרת הפיתוח של Expo כדי לבדוק את האינטגרציה שלך. משורש הפרויקט שלך, הרץ:
npx expo start
עקוב אחר הוראות Expo CLI כדי לפתוח את האפליקציה שלך בסימולטור, מכשיר פיזי או דפדפן web.אפליקציית React Native שלך תתחבר לבקאנד Base44 דרך לקוח SDK, ותאפשר לך לעבוד עם ה-entities המופצות שלך בזמן אמת.

השלבים הבאים

עכשיו שהבקאנד Base44 שלך משולב בפרויקט שלך, אתה יכול:
  • להשתמש ב-SDK כדי להוסיף עוד פונקציונליות לאפליקציית המובייל שלך.
  • להוסיף entities, backend functions, ו-agents. אם אתה עובד ב-TypeScript, ייצר types כדי לקבל autocomplete ובטיחות סוגים.
  • לבדוק באופן מקומי על ידי הרצת base44 dev עבור הבקאנד לצד שרת הפיתוח של האפליקציה שלך. ראה Local development להוראות הגדרה.

ראה גם

דף זה תורגם באמצעות בינה מלאכותית. למידע המדויק והעדכני ביותר, עיין בגרסה האנגלית.