syncfusion-react-data-manager — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-react-data-manager (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The DataManager is a gateway component for managing local and remote data operations in React applications. It acts as an abstraction layer that enables seamless data binding, querying, CRUD operations, caching, and middleware customization without writing complex server communication code.
Use this skill whenever a user needs to:
DataManager is best for:
Direct component binding (Grid, Scheduler, etc.) is better when:
Connect DataManager to data sources using the json property (local arrays) or url property (remote APIs). Query methods: executeLocal() for local data, executeQuery() for remote data.
Build structured queries using the Query class: from(), where(), select(), sortBy(), take(), expand(), group() chained together for powerful data operations.
Adaptors are interfaces that enable DataManager to communicate with different data sources:
Choose the reference file based on your current task:
📄 Read: references/getting-started.md
📄 Read: references/data-binding.md
📄 Read: references/querying-and-filtering.md
📄 Read: references/crud-operations.md
📄 Read: references/adaptors-guide.md
📄 Read: references/middleware-customization.md
📄 Read: references/caching-offline-mode.md
📄 Read: references/advanced-features.md
import React, { useEffect, useState } from 'react';
import { DataManager, WebApiAdaptor, Query } from '@syncfusion/ej2-data';
export default function DataManagerDemo() {
const [items, setItems] = useState([]);
useEffect(() => {
// Create DataManager with remote data source
const dataManager = new DataManager({
url: 'url',
adaptor: new WebApiAdaptor(),
crossDomain: true
});
// Execute query with filtering, sorting, paging
dataManager.executeQuery(
new Query()
.where('Freight', 'greaterthan', 500) // Filter
.sortBy('OrderDate') // Sort
.take(10) // Pagination
).then((e) => {
setItems(e.result); // Bind results
});
}, []);
return (
<div>
<h2>Orders</h2>
<ul>
{items.map((item) => (
<li key={item.OrderID}>{item.CustomerID} - ${item.Freight}</li>
))}
</ul>
</div>
);
}Case 1: Display local data with filtering → Use JsonAdaptor + Query + where() for client-side filtering
Case 2: Fetch server data with authentication → Use WebApiAdaptor + applyPreRequestMiddlewares() for token injection
Case 3: Work offline, sync later → Use enableCache + offline mode + saveChanges() for batch sync
Case 4: Complex nested data relationships → Use ODataV4Adaptor or RemoteSaveAdaptor + expand() for related data
Case 5: GraphQL backend → Use GraphQLAdaptor with custom query builder
Case 6: Legacy ASP.NET ASMX service → Use WebMethodAdaptor with appropriate response mapping
| Property | Type | Purpose |
|---|---|---|
| json | Array | Local JavaScript array of objects |
| url | string | Remote server endpoint URL |
| adaptor | Adaptor | JsonAdaptor, ODataAdaptor, WebApiAdaptor, etc. |
| enableCache | boolean | Cache pages to prevent redundant requests |
| offline | boolean | Enable offline mode with local storage |
| crossDomain | boolean | CORS requests to different domain |
| Feature | DataManager | Direct Binding |
|---|---|---|
| Flexible adaptors | ✓ Easy switching | ✗ Fixed to one source |
| Complex queries | ✓ Query class with chaining | ✗ Limited filtering |
| CRUD operations | ✓ Full support + batch | ✗ Basic operations |
| Middleware | ✓ Pre/post hooks | ✗ None |
| Caching | ✓ Built-in | ✗ Manual implementation |
| Offline mode | ✓ Built-in | ✗ Manual implementation |
| Performance (small datasets) | ≈ Same | ✓ Slightly faster |
| Performance (large datasets) | ✓ Lazy loading support | ✗ All at once |
Use DataManager when building data-driven applications with flexibility, caching, and middleware needs.
Use direct binding for simple, one-off displays without complex queries or offline support.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.