我有一個反應專案,最近被改寫為打字稿。現在,修改后,當我想添加一個組件時,我收到了一個錯誤:
“警告:React.createElement:型別無效——需要一個字串(對于內置組件)或一個類/函式(對于復合組件)但得到:未定義。你可能忘記從它定義的檔案中匯出你的組件,或者您可能混淆了默認匯入和命名匯入。”
這是我的 index.tsx
import React from "react";
import { Text, Alert } from "react-native";
import Screen from "../../components/Screen";
import FormField from "../../components/InputText";
import { Formik as FormComponent } from "formik";
import SubmitButton from "../../components/buttons/SubmitButton";
import ImagePicker from "../../components/forms/ImagePickerForm";
const AddItem = () => {
return (
<ScrollView>
<Screen>
<ImagePicker />
<FormComponent
initialValues={{ title: "", description: "", category: "", images: [] }}
onSubmit={(values) => Alert.alert("Correct!")} //{(values) => console.log(values)}
validationSchema={validationSchema}
>
{({ handleChange, errors }) => (
<>
{/*<Text>{errors.category}</Text>*/}
<FormField
name="title"
placeholder="title"
onChangeText={handleChange("title")}
style={{ width: "100%", flex: 1 }}
maxLength={70}
multiline
width={100}
></FormField>
<Text>{errors.title}</Text>
<SubmitButton title="Add item" />
</>
)}
</FormComponent>
</Screen>
</ScrollView>
);
};
export default AddItem;
這是我試圖添加到我的 index.tsx 的組件 <ImagePicker/>
import React, { useState } from "react";
import * as ImagePicker from 'expo-image-picker';
import ImageInput from "../ImageInput";
const PickImage: React.FC<{}> = () => {
const [imageUri, setImageUri] = useState();
const selectImage = async () => {
try {
const result: any = await ImagePicker.launchImageLibraryAsync();
if (!result.cancelled) setImageUri(result.uri);
} catch (error) {
console.log("something went wrong");
}
};
return <ImageInput imageUri={imageUri} onChangeImage={(uri) => setImageUri(uri)} />;
}
export default ImagePicker;
知道為什么我收到錯誤嗎?我會很樂意幫助解決這個問題
uj5u.com熱心網友回復:
當您匯出 ImagePicker 時,它使用的是“expo-image-picker”中的 ImagePicker。您需要匯出默認 PickImage。
uj5u.com熱心網友回復:
您默認匯出ImagePicker而不是PickImage
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/316878.html
標籤:javascript 反应 打字稿 反应原生 世博会
