Reactjs 如何将其转换为react功能组件
我从react数据网格中得到了这个,我已经将它转换为功能组件,但是当我更改一行的内容时,这些更改就会生效 原创的Reactjs 如何将其转换为react功能组件,reactjs,react-component,react-data-grid,react-functional-component,Reactjs,React Component,React Data Grid,React Functional Component,我从react数据网格中得到了这个,我已经将它转换为功能组件,但是当我更改一行的内容时,这些更改就会生效 原创的 onGridRowsUpdated = ({ fromRow, toRow, updated }) => { this.setState(state => { const rows = state.rows.slice(); for (let i = fromRow; i <= toRow; i++) { rows[i] =
onGridRowsUpdated = ({ fromRow, toRow, updated }) => {
this.setState(state => {
const rows = state.rows.slice();
for (let i = fromRow; i <= toRow; i++) {
rows[i] = { ...rows[i], ...updated };
}
return { rows };
});
};
onGridRowsUpdated=({fromRow,toRow,updated})=>{
this.setState(state=>{
const rows=state.rows.slice();
for(让i=fromRow;i{
const rows=rows.slice();
console.log(行);
for(设i=fromRow;iconst-onGridRowsUpdated=({fromRow,toRow,updated})=>{
设置行((状态)=>{
const newRows=state.slice();
console.log(新行);
对于(让i=fromRow;i在原始代码中,您正在调用setState
,而在第二部分中,您没有调用。您可能需要将返回行
替换为setRows(行)
我试过了,但运气不好,它必须将“setState”更改为功能组件中的等效项谢谢你这么好用!另外,JSX函数在7.0.0-canary15版上已从onGridRowsUpdated
更改为onRowsUpdate
末尾缺少)
const columns = [some data];
let rowsIntial = [some data];
const[rows,setRows]=useState(rowsinitial);
const onGridRowsUpdated = ({ fromRow, toRow, updated }) => {
const rows = rows.slice();
console.log(rows);
for (let i = fromRow; i <= toRow; i++) {
rows[i] = { ...rows[i], ...updated };
}
return rows;
};
<ReactDataGrid
columns={columns}
rows={rows}
onGridRowsUpdated={onGridRowsUpdated}
enableCellSelect={true}
/>
const onGridRowsUpdated = ({ fromRow, toRow, updated }) => {
setRows((state) => {
const newRows = state.slice();
console.log(newRows);
for (let i = fromRow; i <= toRow; i++) {
newRows[i] = { ...newRows[i], ...updated };
}
return newRows;
}
};