我有一个Rails 5应用程序,我已经在其上安装了browserify和react-rails。我能够使用npm加载组件和安装软件包。当加载一些外部包(即react-bootstrap组件)时,浏览器控制台中充满了‘警告:您正在为组件上的每个可用支柱手动调用.’的React.PropTypes验证函数。
我到处都找过了,但我不知道如何修正这些警告。这里也问过类似的问题,但这似乎没有一个适用于我的问题的答案。
这是我的档案:
package.json
{
"name": "myapp",
"version": "1.0.0",
"dependencies": {
"bootstrap": "^3.3.7",
"browserify": "^13.1.0",
"browserify-incremental": "^3.0.1",
"fetch": "^1.1.0",
"jquery": "^3.1.1",
"jquery-ui": "^1.12.1",
"jquery-ujs": "^1.2.2",
"react": "^15.3.2",
"react-bootstrap": "^0.30.4",
"react-dom": "^15.3.2",
"reactify": "^1.1.1",
"sweetalert-react": "^0.4.4"
}
}application.js
//= require_self
//= require react-server
//= require react_ujs
window.$ = window.jQuery = global.$ = require('jquery');
var React = window.React = global.React = require('react');
var ReactDOM= window.ReactDOM = global.ReactDOM = require('react-dom');
require( 'jquery-ujs' );
require( 'jquery-ui' );
require( 'bootstrap' );
require( 'react-bootstrap' );
require( 'fetch' );
require( './components' );components.js
var app = window.app = global.app = {};
// Component::Manifest
var AdminDashboard = require( 'components/dashboards/admin' );
app.AdminDashboard = AdminDashboardadmin.js.jsx
var ButtonToolbar = require('react-bootstrap').ButtonToolbar;
var Button = require('react-bootstrap').Button;
var Admin = React.createClass({
handleClick(){
alert('This was clicked');
},
render: function() {
return (
<ButtonToolbar bsClass="btn-group">
<Button active={true} bsStyle="primary" onClick={this.handleClick}>Primary</Button>
</ButtonToolbar>
);
}
});
module.exports = Admin;如果该警告与外部包及其组件相关,如何消除它?
发布于 2016-12-10 17:11:07
这可能会有帮助- https://facebook.github.io/react/warnings/dont-call-proptypes.html。基本上,您使用的react-bootstrap库可能以一种不受React支持的方式使用PropTypes。
发布于 2017-07-25 17:50:56
升级反应-引导应该解决这个问题。看上去他们是我早在六月就谈过了
您可以将您的package.json更改为"react-bootstrap": "^0.31.0",并查看它是否有效。
https://stackoverflow.com/questions/39817306
复制相似问题