Эта проблема произошла в моем проекте из-за вызова GET ajax с длинной строкой xml в качестве значения параметра. Решенный следующим образом: сделать его как ajax-сообщение для вызова класса Java Spring MVC, как это.
$.ajax({
url: "controller_Method_Name.html?variable_name="+variable_value,
type: "POST",
data:{
"xmlMetaData": xmlMetaData // This variable contains a long xml string
},
success: function(response)
{
console.log(response);
}
});
Метод класса Spring MVC:
@RequestMapping(value="/controller_Method_Name")
public void controller_Method_Name(@RequestParam("xmlMetaData") String metaDataXML, HttpServletRequest request)
{
System.out.println(metaDataXML);
}
if(nextProps.Id === this.props.Id) {
this.props.fetchFileUploads(this.props.Id)
}
componentWillReceiveProps
будет вызываться каждый раз, а nextProps.Id
всегда будет равняться this.props.Id
и, следовательно, бесконечному циклу, вместо этого вы можете сохранить Id для определения состояния и улучшить свое сравнение оттуда
Вам необходимо правильно написать Receive
в коде рефакторинга:
componentWillReceiveProps(nextProps){
// ^^
if(nextProps.Id !== this.props.Id)
dispatch(this.props.fetchPlayerFileUploads(Id))
}