Tôi mới sử dụng React, vì vậy xin đừng đánh giá nghiêm túc. Tôi đang hiển thị ứng dụng React trên máy chủ và muốn thực thi mã trên giao diện người dùng. Ứng dụng hiển thị đúng với kiểu và không có cảnh báo hoặc lỗi, mặc dù có trạng thái trống vì tôi đang sử dụng API nên thực thi ở mặt trước và hiện tại là OK.Phản hồi bên máy chủ ReactJS và phương thức componentDidMount
như tôi hiểu máy chủ làm cho thành phần và từ máy chủ trả lại và gắn kết thành phần trên máy chủ và nó không được gọi componentDidMount()
phương pháp mà nên làm cuộc gọi API của tôi và nhân viên khác
này là thành phần của tôi
import React from 'react';
import {render} from 'react-dom';
import SpComparison from './spComparison.jsx';
import Comparison from './comparison.jsx';
import AnalystRatings from './analystRatings.jsx';
export default class Insights extends React.Component {
constructor(props){
super(props);
this.state = {
charts: []
}
let _this = this;
}
componentDidMount() {
console.log("I want to do log on front end side, but can't")
}
render() {
let charts = this.state.charts.map(function(i){
if (i.type == 'comparison'){
return <Comparison key={ i.id } config={ i.config } />
}
else if (i.type == 'sp-comparison'){
return <SpComparison key={ i.id } config={ i.config } />
}
if (i.type == 'analyst-ratings'){
return <AnalystRatings key={ i.id } config={ i.config } />
}
});
return (
<div id="insights" className="container">
<div className="row">
<div className="col-md-3 hidden-md-down" style={{
marginTop: 10
}}>
<ul className='finstead-tabs'>
<li className="finstead-tabs-header">
Categories
</li>
<li>
<a href='' className="finstead-active-tab">Performance</a>
</li>
<li>
<a href=''>Financial</a>
</li>
<li>
<a href=''>Valuation</a>
</li>
<li>
<a href=''>Shares</a>
</li>
<li>
<a href=''>Outlook</a>
</li>
</ul>
</div>
<div className="col-xs-12 col-md-9">
{ charts }
</div>
</div>
</div>
)
}
}
Tôi đoán tôi đang làm nó không đúng cách, vì vậy hãy giúp tôi.
LƯU Ý
Trong thành phần mức cao nhất tôi đã không gọi ReactDOM.render
nó có thể gây ra hành vi này?
tutorial mà tôi sử dụng ví dụ
Trong trường hợp của bạn, gọi ReactDOM.render sẽ là một vấn đề lớn vì HTML được hiển thị phía máy chủ của bạn không dựa trên trạng thái nào. Tất cả HTML phụ dựa trên trạng thái mà bạn xây dựng phía máy khách sẽ cần phải được phân biệt thành DOM và sẽ mất thêm thời gian. Tôi không hiểu tại sao bạn đang làm rendering phía máy chủ ở đây, tăng tốc độ của bạn là biên. –
Như tôi đã đề cập, tôi vẫn đang học, và hoàn toàn hiểu rằng phía máy chủ hiển thị vô dụng mà không có dữ liệu, vì vậy mọi thứ đều có thời gian, giờ học Redux và hy vọng sẽ tạo trạng thái cho hiển thị bên máy chủ, Cảm ơn bạn! –