मैं Sails.js के साथ एक isomorphing एप्लिकेशन का निर्माण और प्रतिक्रिया करने के लिए कोशिश कर रहा हूँ। ग्राहक-पक्ष भाग आसान है। लेकिन मैं सर्वर-साइड प्रतिपादन के साथ समस्याओं में भाग लेता हूं।कैसे React.js का उपयोग करने पर Sails.js सर्वर साइड टेम्पलेट रेंडर करने के लिए?
मैं करने का प्रयास करते के साथ एक * .jsx फ़ाइल सर्वर-प्रदान प्रतिक्रिया है, मैं यह मिल गया:
renderToString(): You must pass a valid ReactElement
मैं sailsjs उपयोग कर रहा हूँ, प्रतिक्रिया और पाल-हुक-कोलाहल (ES6 वाक्य रचना के लिए)।
./assets/components/Auth.jsx:
import React from 'react';
export class Auth extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div className='auth'>
Very simple element without any logic just for test server-rendering.
</div>
);
}
}
./api/controllers/AuthController.js:
var Auth = require('./../../assets/components/Auth.jsx');
import React from 'react';
module.exports = {
render: function (req, res) {
//var markup = React.renderToString(
// Auth
//); // This throws an error
console.log(Auth); // {__esModule: true, Auth: [Function: Auth]}
//res.view("layout", {app: markup});
}
};
मैं हर जगह दोनों ES5/ES6 वाक्य रचना की कोशिश की है। हर बार त्रुटि होती है। क्लाइंटसाइड पर यह Auth.jsx ठीक काम करता है (मैं बेबेल-लोडर के साथ वेबपैक का उपयोग कर रहा हूं)।
शर्म की बात है पर सभी पढ़ सकते हैं की जरूरत है, लेकिन मुझे नहीं पता यह करने के कोशिश की :('वर मार्कअप = React.renderToString ( React.createElement (प्रमाणीकरण) );' काम नहीं किया – user3278087
आपको बहुत बहुत धन्यवाद जवाब और लिंक के लिए, यह बहुत उपयोगी है।!। – user3278087