0

私は反応するのが初めてで、フックの使用を学んでいますが、Formio プラグインをコンポーネントで正しく動作させることができないようです。

React.DOM がフックでどのように実装されるかはわかりませんが、Formio のドキュメントには次のように記載されています。

import React from 'react';
import ReactDOM from 'react-dom';
import {FormBuilder} from 'react-formio';

ReactDOM.render(
  <FormBuilder form={{display: 'form'}} onChange={(schema) => console.log(schema)} />
  , document.getElementById('builder')
);

コンポーネントに実装しようとしましたが、ReactDOM でエラーが発生し続けました。このコードは機能しますが、プラグインはすべて不安定なので、何かが正しく機能していないことがわかります。

import React, { useState, useEffect } from "react";
import  ReactDOM from 'react-dom'; 
import { FormBuilder } from 'react-formio';


const FormBuilderPage = props => {

    return (
        
            <FormBuilder 
               form={{ display: 'form' }}
               onChange={(schema) => console.log(schema)}
            />
            //,document.getElementById('builder')
                    
        )
        
   // This returns an error     
   return (
        
        ReactDOM.render(
            <FormBuilder form={{display: 'form'}} onChange={(schema)                => console.log(schema)} />
            , document.getElementById('builder')
          )
                    
    )
   
}

export default FormBuilderPage;

ReactDOM.render を追加すると、次のエラーが表示されます。

Uncaught Error: Target container is not a DOM element.

どんなアドバイスでも役に立ちます!

4

1 に答える 1

0

そのため、ドキュメントはあまり明確ではありませんでしたが、React.DOM は必要ありません。index.html ファイルに追加しなければならなかったのは、css インポートだけでした。

だからこれはうまくいく!

import React from "react";
import { FormBuilder } from 'react-formio';


const FormBuilderPage = props => {

    return (
        
            <FormBuilder 
               form={{ display: 'form' }}
               onChange={(schema) => console.log(schema)}
            />
                    
        ) 
}

export default FormBuilderPage;
<!-- Formio CSS-->
    <link
    rel="stylesheet"
    href="https://unpkg.com/formiojs@latest/dist/formio.full.min.css"
    />

于 2020-04-03T21:38:31.867 に答える