Рендеринг на стороне сервера с помощью create-inferno-app
Я пытаюсь настроить реализацию create-inferno-app на стороне сервера. Итак, я сначала запускаю create-inferno-app, чтобы создать пример проекта и запустить npm start run
и все выглядит хорошо. Это мое index.js
import { render } from 'inferno';
import App from './App';
render(<App />, document.getElementById('root'));
а это App.js
import { renderToString } from 'inferno-server';
import './App.css';
const App = function({ color = 'red', name }) {
return (
<div style={{ color }}>
Hello
<span>{name}</span>
</div>
);
}
export default renderToString(<App color="blue" name="world" />)
Я получаю ошибку TypeError: type is not a function
Так как я должен использовать renderToString
метод в создании-инферно-приложение?
1 ответ
Это import App from './App';
импортирует это export default renderToString(<App color="blue" name="world" />)
из вашего app.js.
Вы хотите, чтобы ваши файлы были такими:
index.js
import { render } from 'inferno';
import App from './App';
render(<App />, document.getElementById('root'));
app.js
import './App.css';
App = function({ color = 'red', name }) {
return (
<div style={{ color }}>
Hello
<span>{name}</span>
</div>
);
}
export default App
server.js
import { renderToString } from 'inferno-server';
import App from './App';
cosnt appAsString = renderToString(<App color="blue" name="world" />)