![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@embarklabs/subspace-react
Advanced tools
Library for Reactive Dapp Development with auto syncing and caching capabilities https://subspace.embarklabs.io
subspace-react
is a set of components that simplifies the use of Subspace within React projects
https://subspace.embarklabs.io/react.html
You can install it through npm
or yarn
:
npm install --save @embarklabs/subspace-react web3 rxjs # RxJS and Web3.js are needed peer-dependencies
To use most of the subspace-react
components, you need to wrap your app with the <SubspaceProvider web3={web3} />
component. This will make Subspace available to any nested components that accesses it via the useSubspace
hook or has been wrapped in the withSubspace
higher order component. Any React component might use Subspace so it makes sense to add the provider near the top level of your dApp. The SubspaceProvider
requires a web3 object
// index.js
import React from 'react'
import ReactDOM from 'react-dom'
import MyApp from './MyApp'
import { SubspaceProvider } from '@embarklabs/subspace-react';
const web3 = new Web3("ws://localhost:8545");
const rootElement = document.getElementById('root')
ReactDOM.render(
<SubspaceProvider web3={web3}>
<MyApp />
</SubspaceProvider>,
rootElement
);
Rather than relying on global variables or passing Subspace through props, The easiest way to access Subspace features is via the useSubspace
hook. Be sure that your entire dApp is wrapped with a <SubspaceProvider />
to have it available througout the component tree.
// index.js
import React from 'react'
import { useSubspace } from '@embarklabs/subspace-react';
const MyComponent = () => {
const subspace = useSubspace();
// do something....
// subspace.trackBalance(web3.eth.defaultAccount);
return ...;
}
export default MyComponent
This higher order component is provided as an alternative to the useSubspace
hook. This injects the subspace
property with an already initialized Subspace instance. Just like with the hook, your entire dApp needs to be wrapped with a <SubspaceProvider />
.
// index.js
import React from 'react'
import { withSubspace } from '@embarklabs/subspace-react';
const MyComponent = (props) => {
// do something....
// props.subspace.trackBalance(web3.eth.defaultAccount);
return ...;
}
export default withSubspace(MyComponent);
Useful to make your component subscribe to any observable props it receives when the component is mounted and automatically unsubscribes when the component is unmounted. It can be used with any kind of observables.
import { observe } from '@embarklabs/subspace-react';
const ObserverComponent = observe(WrappedComponent);
const MyComponent = ({eventData}) => {
// Handle initial state when no data is available
if (!eventData) {
return <p>No data</p>;
}
return <p>Value: {eventData.someReturnValue}</p>
};
const MyEnhancedComponent = observe(MyComponent);
const SomeOtherComponent = () => {
const myObservable$ = MyContractInstance.events.MyEvent.track({fromBlock: 1});
return <MyEnhancedComponent myProp={myObservable$} />;
}
Thank you for considering to help out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes!
If you'd like to contribute to Subspace, please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base. If you wish to submit more complex changes though, please check up with the core devs first on #embark-status channel to ensure those changes are in line with the general philosophy of the project and/or get some early feedback which can make both your efforts much lighter as well as our review and merge procedures quick and simple.
MIT
FAQs
Library for Reactive Dapp Development with auto syncing and caching capabilities https://subspace.embarklabs.io
The npm package @embarklabs/subspace-react receives a total of 2 weekly downloads. As such, @embarklabs/subspace-react popularity was classified as not popular.
We found that @embarklabs/subspace-react demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.