Как передать component как props?
Как это правильнейшим образом сделать.
import React from 'react';
import ReactDOM from 'react-dom';
import { createRoot } from 'react-dom/client';
import { Editor, EditorState } from 'draft-js';
import 'draft-js/dist/Draft.css';
class TheObject extends React.Component {
constructor (props) {
super ();
this.shareable = props.shareable;
}
}
class MyEditor extends React.Component {
constructor (props) {
super ();
this.shareable = props.shareable;
}
render () {
return (
"<div>" + this.shareable + "</div>"
);
}
}
const anObject = <TheObject shareable="aValue" />;
console.log (anObject);
const anEditor = new MyEditor (anObject);
export default MyEditor;
Второе решение. Частичное либо полное определение/пере- компонента, например, в родительском компоненте React-а (т.е. без поиска/ref- дочернего, напрямую; если я правильно понимаю ref'ы).
MyEditor.js
import React from 'react';
import 'draft-js/dist/Draft.css';
class MyEditor extends React.Component {
constructor (props) {
super (props);
this.props = props;
this.shareable = this.props.shareable;
}
render () {
return (
<div shareable={this.shareable}>aaa</div>
);
}
}
export default MyEditor;
App.js
import React from 'react';
import 'draft-js/dist/Draft.css';
import MyEditor from './MyEditor'
class TheObject extends React.Component {
render () {
return (
<MyEditor shareable="aValue" />
);
}
}
export default TheObject;
Источник: Stack Overflow на русском