【问题标题】:Unable to add post in firestore using react-admin-firebase data provider package无法使用 react-admin-firebase 数据提供程序包在 firestore 中添加帖子
【发布时间】:2022-12-29 09:20:37
【问题描述】:

我试图将我的 react-admin 前端连接到 firebase 以执行 crud 操作。 我使用 react-admin-firebase 包作为数据提供者,它在读取操作时工作正常,但在创建帖子时它在屏幕上显示(服务器通信错误)作为错误和 {status: 200, message: '', json: undefined} json: undefined message: "" status: 200 [[Prototype]]: Object 在控制台上。

App.js文件

import React from "react"
import { Admin, Resource } from "react-admin"
import PostList from "./components/PostList"
import PostCreate from "./components/PostCreate"
import PostEdit from "./components/PostEdit"
import PostShow from "./components/Show"
import MyPostList from "./components/MyPosts"
import Grid from "./Grid";
import {
  FirebaseDataProvider,
  FirebaseRealTimeSaga
} from 'react-admin-firebase';

const config = {
  apiKey: "xxxxxxx",
  authDomain: "xxxxx",
  databaseURL: "xxxxxx",
  projectId: "xxxx",
  storageBucket: "xxxx",
  messagingSenderId: "xxxx",
  appId: "xxxxx",
  measurementId: "xxxx"
};

const options = {};
const dataProvider = FirebaseDataProvider(config, options);

function App() {
  return (
    <Admin
      dataProvider={dataProvider}
    >
      <Resource name="posts" list={PostList} create={PostCreate} show={PostShow} edit={PostEdit} />
      <Resource name="myposts" list={MyPostList} create={PostCreate} show={PostShow} edit={PostEdit} />
      <Resource name="gridView" list={Grid} create={PostCreate} show={PostShow} edit={PostEdit}/> 
    </Admin>
  )
}

export default App

和 PostCreate.js 文件

import * as React from "react";
import {Create, SimpleForm, TextInput, DateInput, required } from 'react-admin';
import RichTextInput from 'ra-input-rich-text';

const phoneNumberFormat = (num) => {
     let x;
    if (typeof num !== "undefined") {
          
        var pattern = new RegExp(/^[0-9\b]+$/);
        if (!pattern.test(num)) {

          x= "Please enter only number.";
        }else if(num.length != 10){
          x= "Please enter valid phone number.";
        }
      }
    return x;
};
const validatePhone = [required("Phone number is required"), phoneNumberFormat];

const BodyWordLimit = (num) => {
    let x;
    if(num.length>1000)
    {
        x="You can write only 1000 characters in Description";
    }
   return x;
};
const validateBody = [required("Discription is required"), BodyWordLimit];

const TitleWordLimit = (num) => {
    let x;
    if(num.length>255)
    {
        x="You can write only 255 characters in Title";
    }
   return x;
};
const validateTitle = [required("Title is required"), TitleWordLimit];

const PostCreate = (props) => {
    
    return (
        <Create title='Create a Post' {...props}>
        <SimpleForm>
            <TextInput source="title" validate={validateTitle}/>
            <RichTextInput multiline source="body" validate={validateBody}/>
            <DateInput label="Publication date" source="published_at" defaultValue={new Date()} />
            <TextInput source="phone" validate={validatePhone}  />

        </SimpleForm>
    </Create>
    )
}
    
export default PostCreate

谁能帮忙?在过去的 2-3 天里,我一直在拼命寻找修复程序......

【问题讨论】:

  • 你修好了吗?

标签: javascript firebase google-cloud-firestore react-admin


【解决方案1】:

我解决了它添加 authProvider 并将日志记录配置设置为 true。

我不知道为什么它会这样

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-04
    • 2021-08-20
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 2022-01-16
    • 1970-01-01
    相关资源
    最近更新 更多