我一直在为剪贴板找到解决方案或插件。我找到了react-zeroclipboard和react-clipboard,用于复制和粘贴用法。显然,这些需要nodejs来运行吗?还有其他插件不允许我使用节点吗?
由于
答案 0 :(得分:2)
您可以使用onCut
onCopy
onPaste
events:
React.createClass({
handlePaste: function(event) {
_.each(event.clipboardData.items, function(item) {
item.getAsString(function(string) {
console.log('Pasted: ', string)
})
});
},
render: function () {
return (
<input type="text" onPaste={this.handlePaste} />
);
}
});
答案 1 :(得分:2)
实际上,它们都不能在node.js中工作。它们被打包为commonjs模块并与npm一起分发,就像几乎所有的反应组件一样。 Node.js需要使用browserify或webpack构建一个或多个组件。
# install dependencies
npm init
npm install --save react-clipboard browserify react uglify-js
# development with source maps
./node_modules/.bin/browserify -d -r react-clipboard -r react -o bundle.js
# for production
NODE_ENV=production \
./node_modules/.bin/browserify -r react-clipboard -r react \
| ./node_modules/.bin/uglifyjs -m > bundle.min.js
如果您将其包含在页面上,则可以执行以下操作:
var React = require('react');
var ReactClip = require('react-clipboard');
然后,随着应用程序的增长,您可以添加更多依赖项,并且需要更多功能,并使用package.json维护其版本。
注意:某些软件包还提供独立的全局构建和/或发布给bower等,但如果您避免使用npm和browserify / webpack,则会限制您的选项。