Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
react-decorators
Advanced tools
A collection of react decorators to enhance components capabilities
A collection of react decorators to enhance components capabilities.
Feel free to open a PR with your own decorators. For large new features, please open an issue first.
The package is currently available only on npm.
npm install --save react-decorators
Everything is pretty much under construction
What is does
Injects the classnames package directly into React's className
property.
A simple JavaScript utility for conditionally joining classNames together.
...
TheclassNames
function takes any number of arguments which can be a string or object.
...
If the value associated with a given key is falsy, that key won't be included in the output.
@classNames
class MyComponent extends React.Component {
render() {
return (
<div className="classnames-examples">
<span className={['foo', 'bar']} /> {/* class="foo bar" */}
<span className={{selected: false, visible: true}} /> {/* class="visible" */}
<span className={[null, {active: true}, false, [{nested: true}]]} /> {/* class="active nested" */}
<span className={{hasClass: false}} /> {/* class="" */}
</div>
);
}
}
What is does
An extension of the classNames
decorator, it binds the
classnames package to React's className
property using the
alternate bind
version
for css-modules.
import styles from './styles.css';
@cssModules(styles)
class MyComponent extends React.Component {
render() {
return (
<div className="my-class">
// Content goes here
</div>
);
}
}
Although it mixing between ES2015+ imports
and CommonJS require
,
I find this syntax to be very readable.
@cssModules(require('./my-component.scss'))
class MyComponent extends React.Component { ... }
What is does
This decorator receives a map of property names to context consumers, and injects these the consumers values as properties to the base component.
injectContext({propName: Consumer[, ...]})
@injectContext({
theme: ThemeConsumer,
})
class MyComponent extends React.Component {
render() {
return (
<div className={this.props.theme.container}>
// Content goes here
</div>
);
}
}
FAQs
A collection of react decorators to enhance components capabilities
The npm package react-decorators receives a total of 9 weekly downloads. As such, react-decorators popularity was classified as not popular.
We found that react-decorators demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.