【发布时间】:2017-10-07 18:37:46
【问题描述】:
我正在尝试从头开始编写 reactjs 分页,但由于以下错误而陷入困境。
1.) Reactjs 在尝试显示数据库中的记录时显示以下错误 “未捕获的 TypeError:无法读取未定义的属性 'setState'”
2.) 当我点击页面链接时,它显示 "Uncaught ReferenceError: displayRecords is not defined 在 HTMLAnchorElement.onclick"。似乎 displayRecords() 函数没有很好地定义或绑定在下面的 javascript 中。
3.) 当我点击下拉链接时,它显示 "Uncaught ReferenceError: changeDisplayRowCount is not defined 在 HTMLSelectElement.onchange"。似乎 changeDisplayRowCount() 函数没有很好地定义或绑定在下面的 javascript 中。
请有人运行脚本并帮助我解决问题。至少即使它只是第一个错误(“Uncaught TypeError: Cannot read property 'setState' of undefined”)。
<script src="build/react.min.js"></script>
<script src="build/react-dom.min.js"></script>
<script src="build/browser.min.js"></script>
<script src="build/jquery.min.js"></script>
<a href="javascript:void(0);" class="links" onclick="displayRecords('10', '1');" >Page</a>
<label> Rows Limit:
<select name="show" onChange="changeDisplayRowCount(this.value);">
<option value="10" >10</option>
<option value="20" >20</option>
<option value="30" >30</option>
</select>
</label>
<div id="root"></div>
<script type="text/babel">
class NameForm extends React.Component {
constructor() {
super();
this.state = {
data: []
};
}
componentDidMount() {
function displayRecords(numRecords, pageNum) {
var show = numRecords;
var pagenum = pageNum;
alert(show);
$.ajax({
type: 'GET',
url: 'getrecords.php',
data: {
show: numRecords,
pagenum: pageNum
},
cache: false,
success: function(data) {
show: numRecords;
pagenum: pagenum;
$('#display')
.html(data)
.show();
//console.log(email);
console.log(show);
console.log(pagenum);
this.setState({data: data});
}.bind(this),
error: function(jqXHR) {
console.log(jqXHR);
}.bind(this)
});
} // end displayRecords
function changeDisplayRowCount(numRecords) {
displayRecords(numRecords, 1);
}
$(document).ready(function() {
displayRecords(10, 1);
});
}
render() {
return (
<div>
{this.state.data ? (
<div dangerouslySetInnerHTML={{__html: this.state.data}} />
) : (
<div>Loading...</div>
)}
</div>
);
}
}
ReactDOM.render(
<NameForm />,
document.getElementById('root')
);
</script>
getrecords.php
<?php
echo $page = $_GET['pagenum'];
echo $show = $_GET["show"];
// pagination
?>
【问题讨论】:
标签: javascript reactjs